Un guide du débutant à la programmation orientée objet Python

Un guide du débutant à la programmation orientée objet Python

Python est utilisé dans tout, du Raspberry Pi à l'apprentissage automatique. Cependant, si vous souhaitez travailler sur un grand projet, vous devrez savoir comment Python fonctionne avec la programmation orientée objet (OOP). Cet article couvrira les bases mêmes que vous devez savoir.





Si vous n'êtes pas vraiment amateur de programmation, pourquoi ne pas plutôt jeter un œil à ces meilleurs croquis de Monty Python ? Ils ont inspiré la langue, après tout !





Attendez, Python n'est pas un vrai langage ?

Soyons clairs : Python EST un vrai langage de programmation, il est populaire et il se développe rapidement. Juste parce qu'il se lit comme un pseudo-code et que vous pouvez code Minecraft sur le Pi avec , cela ne signifie pas que vous devriez le considérer comme une langue secondaire.





La POO est la pierre angulaire du développement logiciel moderne, et Python est plus que capable de suivre le rythme. Il peut faire une ou deux choses différemment des autres langages traditionnels, mais que cela ne vous rebute pas.

Ce tutoriel supposera une connaissance de base de Python, mais nous couvrirons toutes les choses complexes en cours de route. Si vous débutez avec Python, pourquoi ne pas consulter ces astuces pour apprendre un nouveau langage de programmation , ou qu'en est-il d'un projet simple tel que la lecture et l'écriture sur Google Sheets avec Python ?



Prérequis et configuration Python

Avant de commencer, vous souhaiterez peut-être configurer votre environnement de développement Python. nous utiliserons Python 3.6.5 , et bien que vous puissiez utiliser des versions plus anciennes, vous aurez moins de problèmes à suivre si vous utilisez une version assez récente.

Vous voudrez créer un environnement virtuel si vous n'en avez pas déjà un, et installer PIP pour Python s'il n'est pas installé (il est cependant fourni avec la plupart des installations modernes de Python). Une fois que vous aurez ces configurations, vous serez prêt à partir. Commençons!





Les bases de Python : les cours

À classer est le bloc de construction de base de la POO. Une classe est comme un plan ou un plan. Ils définissent les caractéristiques d'un objet. Si vous avez une classe de voiture, par exemple, elle peut indiquer qu'il y a quatre roues, au moins un siège et un moteur.

Voici comment créer une classe en Python :





class Vehicle:
''' This class defines vehicles. '''
pass

Simple non ? Il se passe quelques choses ici. Remarquez le commentaire en haut de la classe. Ceci est un commentaire spécial appelé un docstring . Cela devrait expliquer un peu votre code. En utilisant les guillemets triples ( '' ' ), vous dites à Python qu'il s'agit d'une docstring.

Les passe le mot-clé dit à Python de ne rien faire. C'est un mot spécial, et vous pouvez le considérer comme une tâche. Cela fera fonctionner votre code, mais cela ne fait rien en fait.

Si vous exécutez ce code, vous verrez que rien ne se passe. Vous devez instancier vous classe. Il s'agit en effet d'aller construire un objet à partir du plan défini en classe. Vous pouvez créer autant de copies que vous le souhaitez, chacune avec des propriétés différentes. Voici comment procéder :

red_car = Vehicle()

Si vous l'exécutez à nouveau, vous verrez que rien ne se passe. Le code fonctionne correctement, mais vous ne lui avez pas demandé de faire quoi que ce soit de notable. Les Véhicule La classe définit les plans d'un véhicule, et cette dernière ligne crée un objet véhicule et lui donne le nom de voiture rouge .

Il est possible de fabriquer autant d'objets que vous le souhaitez :

red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

Ajoutons un peu plus de code. Ajouter une méthode appelée __init__ à la Véhicule classer:

class Vehicle:
''' This class defines vehicles. '''
def __init__(self, color='plain'):
''' Setup some custom car properties '''
print('New car made!')
self.color = color
red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

Portez une attention particulière à ce __init__ méthode. Il doit commencer et se terminer par deux traits de soulignement. Il s'agit d'une méthode spéciale en Python. Il est appelé automatiquement lorsque vous créez un nouvel objet. L'exécution de ce code affichera les mots « Nouvelle voiture fabriquée ! » trois fois.

Finalement, __init__ prend un argument personnalisé appelé Couleur . Le signe égal et la chaîne qui suivent immédiatement indiquent à Python de définir la couleur sur « plain » si elle n'est pas spécifiée. Vous pouvez modifier vos instances pour paramétrer la couleur de votre voiture à la création :

red_car = Vehicle(color='red')
green_car = Vehicle(color='green')
blue_car = Vehicle(color='blue')

Si vous imprimez la couleur de la voiture, vous verrez que chaque instance a une couleur différente, même si les trois ont été fabriquées selon la même spécification (la classe). Python vous permet d'accéder à presque n'importe quelle variable ou objet --- peu d'autres langages vous permettent de le faire :

print(red_car.color)
print(green_car.color)
print(blue_car.color)

Cela fonctionne parce que vous avez attribué Couleur à auto.couleur . Self est un autre mot-clé spécial en Python, et il fait référence à chaque instance spécifique d'une classe. Chaque fois que vous utilisez self, vous pouvez définir ou accéder aux données propres à cette instance. La voiture rouge a une couleur de rouge, par exemple.

Modifiez votre __init__ méthode pour stocker le bruit de la voiture dans une variable :

self.noise = 'Vroooom'

Pour imprimer le bruit de la voiture, vous pouvez simplement accéder au bruit variable, comme vous l'avez fait avec la couleur, mais ce n'est pas la meilleure idée. Et si, lorsque vous conduisez une voiture, vous voulez qu'un autre code s'exécute en même temps, peut-être un code que vous n'avez pas encore écrit ? Ou si vous voulez changer la conduite d'une voiture à l'avenir ? En créant un fonction (également connu sous le nom de méthode ), vous pouvez contrôler étroitement le fonctionnement des choses. Ajoutez ceci sous votre __init__ méthode:

def drive(self):
print(self.noise)

Vous pouvez appeler cette méthode tout simplement :

red_car.drive()

Chaque fois que vous appelez le conduire méthode, Python imprimera le son. Vous pouvez l'étendre pour effectuer toutes les tâches, mais laissez-le tel quel pour le moment.

Bien fait! A présent, vous devriez avoir une prise ferme sur les bases. Vous devriez être capable de créer et d'utiliser vos propres classes, chacune avec ses propres capacités et fonctions.

Qu'en est-il des variables privées en Python ?

Les objets privés sont très courants dans la plupart des autres langages. Ce sont simplement des variables ou des fonctions qui ne sont pas accessibles en dehors de la classe. Il peut s'agir de codes exigeant que des conditions particulières soient remplies avant utilisation, ou simplement conçus pour un usage interne uniquement. Quelle que soit la raison, les instances ne peuvent pas accéder aux membres privés... sauf si vous codez en Python.

Python n'a pas de membres privés. Au lieu de cela, Python s'appuie sur un système d'honneur : « Nous sommes tous des adultes consentants ». Les programmeurs Python comprennent que vous voudrez peut-être bricoler avec les éléments internes sensibles d'une classe, et ce n'est pas grave, donc rien ne devrait jamais être vraiment inaccessible.

Cependant, Python a une convention acceptée pour marquer certaines variables comme « privées » dans le sens de « Cette variable est à usage interne et vous n'avez probablement pas besoin d'y toucher ». La convention est de préfixer les noms de variables avec un trait de soulignement :

_some_secret_variable = 42

Cela agit comme un avertissement pour les autres programmeurs. Python ne vous empêchera pas d'y accéder, mais le soulignement vous indique que cela n'a pas été conçu pour être utilisé de cette façon et que vous devez continuer à vos risques et périls.

C'est parfois la façon Python de bricoler avec des trucs cachés, mais vous courez le risque que les choses ne fonctionnent pas correctement.

Comprendre l'héritage en Python

L'héritage est un autre moyen de réduire la duplication et la réutilisation du code. En pensant à une relation parent-enfant, l'héritage permet à la enfant partager un code commun avec le parent . Implémentons une voiture électrique, qui hérite du parent.

Ajoutez ce code sous votre Véhicule classer:

class ElectricCar(Vehicle):
''' Electric vehicle class. '''
def charge(self):
print('Zzz')
electric_car = ElectricCar()
electric_car.charge()
electric_car.noise = 'Whoosh'
electric_car.drive()

Après le Voiture électrique est défini, le Véhicule class est spécifié entre deux crochets. Cela indique à Python que Voiture électrique est un enfant de Véhicule . Cela lui donne accès à toutes les données et méthodes fournies dans Véhicule .

La voiture électrique a ses propres méthodes spéciales. Il peut charger (ce que les autres véhicules ne peuvent pas faire). En changeant le bruit de la voiture, puis en conduisant, vous pouvez voir que la voiture électrique fait un son différent, et vous n'avez pas eu à définir la méthode de conduite. C'est parce que le lecteur est hérité du parent.

Développez encore plus vos connaissances Python

Ces exemples ont montré à quel point la POO peut être simple en Python. Nous venons juste de couvrir les bases, mais une fois que vous les avez compris, le reste est facile.

comment changer l'utilisateur par défaut dans chrome

Si vous souhaitez continuer à apprendre Python, ou peut-être mettre ces compétences en POO en pratique, pourquoi ne pas jeter un œil à tableaux et listes en Python , ou pourquoi pas faire communiquer Python et JavaScript ?

Si tout cela vous donne envie de plus, n'oubliez pas de consulter ces meilleurs sites Web pour apprendre Python .

Partager Partager Tweeter E-mail Supprimez ces fichiers et dossiers Windows pour libérer de l'espace disque

Besoin de libérer de l'espace disque sur votre ordinateur Windows ? Voici les fichiers et dossiers Windows qui peuvent être supprimés en toute sécurité pour libérer de l'espace disque.

Lire la suite
Rubriques connexes
  • La programmation
  • La programmation
  • Python
  • Programmation orientée objet
A propos de l'auteur Joe Coburn(136 articles publiés)

Joe est diplômé en informatique de l'Université de Lincoln, au Royaume-Uni. C'est un développeur de logiciels professionnel, et lorsqu'il ne pilote pas de drones ou n'écrit pas de musique, on le trouve souvent en train de prendre des photos ou de produire des vidéos.

Plus de Joe Coburn

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner