Guide du débutant sur la programmation orientée objet Python
Python est utilisé dans tout, du Raspberry Pi à l’apprentissage automatique. Toutefois, si vous souhaitez travailler sur un projet volumineux, vous devez savoir comment Python fonctionne avec la programmation orientée objet (OOP). Cet article couvrira les bases que vous devez savoir.
Si vous n'êtes pas vraiment habitué à la programmation, pourquoi ne pas jeter un coup d'œil à ces meilleurs croquis de Monty Python au lieu de 8 des plus beaux croquis de Flying Circus du meilleur Monty Python Peu d'autres troupes de comédies ont innové autant que Monty Python quand elles ont été diffusées pour la première fois sur la BBC en 1969. Non seulement l'humour était-il frais, bien livré et… En savoir plus? 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 populaire et en pleine croissance. Apprendre le python et l'électronique avec Minecraft Pi Edition Apprendre le python et l'électronique avec Minecraft Pi Edition Vous avez toujours voulu apprendre à coder mais vous ne saviez pas par où commencer? Apprenez à contrôler Minecraft sur le Raspberry Pi à l’aide de Python et de quelques appareils électroniques simples. Lire la suite, cela ne signifie pas que vous devriez l'esquiver comme une langue moins importante.
La programmation orientée objet est la pierre angulaire du développement logiciel moderne, et Python est plus que capable de le suivre. Il peut faire une ou deux choses différemment des autres langues grand public, mais cela ne vous décourage pas.
Ce didacticiel supposera une connaissance de base de Python, mais nous couvrirons tous les aspects complexes du processus. Si vous débutez dans Python, pourquoi ne pas regarder ces astuces pour apprendre un nouveau langage de programmation? 7 Astuces utiles pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation Vous pouvez vous sentir dépassé lorsque vous apprenez à coder. Vous oublierez probablement les choses aussi vite que vous les apprendrez. Ces conseils peuvent vous aider à mieux conserver toutes ces nouvelles informations. En savoir plus ou un simple projet tel que lire et écrire dans Google Sheets avec Python. Comment lire et écrire dans Google Sheets avec Python Comment lire et écrire dans Google Sheets avec Python apprendre et utiliser. Dans cet article, je vais vous montrer comment lire et écrire dans Google Sheets à l'aide de Python. Lire la suite ?
Prérequis et configuration Python
Avant de commencer, vous souhaiterez peut-être connaître la configuration de 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 si vous utilisez une version relativement nouvelle..
Vous souhaiterez créer un environnement virtuel Apprenez à utiliser l’environnement virtuel Python Apprenez à utiliser l’environnement virtuel Python Que vous soyez un développeur Python expérimenté ou que vous débutiez, apprendre à configurer un environnement virtuel est essentiel pour: tout projet Python. Lisez-en plus si vous n'en avez pas déjà et installez PIP pour Python. Comment installer PIP pour Python sous Windows, Mac et Linux Comment installer PIP pour Python sous Windows, Mac et Linux De nombreux développeurs Python reposent sur un PIP pour Python pour rendre tout beaucoup plus facile et plus rapide. Voici comment installer PIP. Lisez plus si ce n'est pas installé (il vient avec la plupart des installations modernes de Python). Une fois que vous avez ces paramètres, vous serez prêt à partir. Commençons!
Les bases de Python: Classes
UNE classe est la pierre angulaire de la programmation orientée objet. Une classe est comme un plan ou un plan. Ils définissent les caractéristiques d'un objet Qu'est-ce que la programmation orientée objet? Les bases expliquées dans les termes de Layman Qu'est-ce que la programmation orientée objet? Les bases expliquées dans les termes de Layman La plupart des langages de programmation modernes prennent en charge le paradigme de la "programmation orientée objet" (OOP). Mais en quoi consiste exactement la programmation orientée objet et pourquoi est-ce si utile? Lire la suite . Si vous avez une classe automobile, par exemple, il peut être indiqué qu'il y a quatre roues, au moins un siège et un moteur..
Voici comment faire un cours en Python:
classe Vehicle: "" "Cette classe définit les véhicules." "" pass
Simple droit? Il y a quelques choses qui se passent 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 triples guillemets (“””), vous dites à Python qu'il s'agit d'une docstring.
le passer mot-clé dit à Python de ne rien faire. C'est un mot spécial, et vous pouvez le penser comme une tâche. Votre code sera exécuté, mais il ne fait rien..
Si vous exécutez ce code, vous verrez que rien ne se produit. Tu dois instancier vous classe. Cela signifie effectivement construire un objet en fonction du plan défini dans la classe. Vous pouvez créer autant de copies que vous le souhaitez, chacune avec des propriétés différentes. Voici comment vous faites cela:
red_car = Vehicle ()
Si vous l'exécutez à nouveau, vous verrez que rien ne se produit. Le code fonctionne correctement, mais vous ne lui avez pas dit de faire quoi que ce soit de notable. le Véhicule classe définit les plans pour un véhicule, et cette dernière ligne crée un objet véhicule et lui donne le nom suivant: voiture rouge.
Il est possible de créer autant d'objets que vous le souhaitez:
red_car = véhicule () green_car = véhicule () blue_car = véhicule ()
Ajoutons un peu plus de code. Ajouter une méthode appelée __init__ au Véhicule classe:
class Vehicle: "" "Cette classe définit les véhicules." "" def __init __ (self, color = "plain"): "" "Configurer certaines propriétés de voiture personnalisées" "" print ('Nouvelle voiture fabriquée!') self.color = couleur red_car = véhicule () green_car = véhicule () blue_car = véhicule ()
Portez une attention particulière à cette __init__ méthode. Il doit commencer et se terminer par deux traits de soulignement. C'est une méthode spéciale en Python. Il est appelé automatiquement lorsque vous créez un nouvel objet. Exécuter ce code montrera les mots “Nouvelle voiture faite!” trois fois.
finalement, __init__ prend un argument personnalisé appelé Couleur. Le signe égal et la chaîne qui suit immédiatement indiquent à Python de définir la couleur sur “plaine” si non spécifié. Vous pouvez modifier vos instances pour configurer la couleur de votre voiture à la création:
red_car = véhicule (couleur = 'rouge') green_car = véhicule (couleur = 'vert') blue_car = véhicule (couleur = 'bleu')
Si vous imprimez la couleur de la voiture, vous constaterez que chaque instance a une couleur différente, même si toutes les trois ont été créées avec les mêmes spécifications (la classe). Python vous permet d’accéder à presque toutes les variables et tous les objets. De nombreux autres langages vous le permettent:
print (red_car.color) print (green_car.color) print (blue_car.color)
Cela fonctionne parce que vous avez assigné Couleur à auto.couleur. Self est un autre mot clé spécial en Python, qui fait référence à chaque instance spécifique d'une classe. Chaque fois que vous vous utilisez vous-même, vous pouvez définir ou accéder à des données propres à cette instance. La voiture rouge a une couleur rouge, par exemple.
Modifier 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 à la bruit variable, comme avec la couleur, mais ce n’est pas la meilleure idée. Et si, lorsque vous conduisez une voiture, vous souhaitez qu'un autre code soit exécuté en même temps, peut-être un code que vous n'avez pas encore écrit? Ou si vous voulez changer le comportement d'une voiture dans le futur? En créant un une fonction (également connu sous le nom d'un méthode), vous pouvez contrôler de près le fonctionnement des choses. Ajoutez ceci en dessous de votre __init__ méthode:
def drive (self): print (self.noise)
Vous pouvez appeler cette méthode très simplement:
red_car.drive ()
Chaque fois que vous appelez le conduire méthode, Python imprimera le son. Vous pouvez le développer pour effectuer tous les travaux, mais le laisser tel quel pour le moment..
Bien joué! A présent, vous devez maîtriser les bases. Vous devriez pouvoir créer et 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 langues. Ce sont simplement des variables ou des fonctions auxquelles il est impossible d'accéder en dehors de la classe. Il peut s’agir d’un code exigeant que des conditions spéciales soient remplies avant d’être utilisé, ou simplement conçu 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 qu'il est peut-être intéressant de bricoler les composants internes sensibles d'une classe. Ce n'est pas grave, rien ne doit donc être réellement inaccessible..
Cependant, Python a une convention acceptée pour marquer certaines variables comme “privé” dans le sens de “Cette variable est à usage interne et vous n'avez probablement pas besoin de la toucher.” La convention est de préfixer les noms de variable avec un trait de soulignement:
_some_secret_variable = 42
Cela agit comme un avertissement aux 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 vous devriez continuer à vos risques et périls..
C'est parfois le moyen utilisé par Python pour bricoler des choses cachées, 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 les doublons et de réutiliser le code. En pensant à une relation parent-enfant, l’héritage permet aux enfant partager le code commun avec le parent. Mettons en œuvre une voiture électrique, qui hérite du père.
Ajoutez ce code sous votre Véhicule classe:
Classe ElectricCar (Vehicle): "" "Catégorie de véhicule électrique." "" 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 La classe est spécifiée entre deux crochets. Cela dit à 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 (quelque chose que les autres véhicules ne peuvent pas faire). En modifiant le bruit de la voiture, puis en conduisant, vous pouvez voir que la voiture électrique émet un son différent et vous n'avez pas à définir la méthode de conduite. C'est parce que le lecteur est hérité du parent.
Développez encore plus vos connaissances sur Python
Ces exemples ont montré à quel point la POO peut être simple en Python. Nous venons tout juste de couvrir les bases, mais une fois que vous les avez, le reste est facile.
Si vous souhaitez continuer à apprendre Python, ou peut-être mettre ces compétences en POO en pratique, pourquoi ne pas jeter un œil aux tableaux et aux listes en Python, ou à la communication avec Python et JavaScript?
Si tout cela vous a laissé vouloir plus, alors n'oubliez pas de consulter ces meilleurs sites Web pour apprendre Python Les 5 meilleurs sites Web pour apprendre la programmation Python Les 5 meilleurs sites Web pour apprendre la programmation Python Vous voulez apprendre la programmation Python? Voici les meilleurs moyens d'apprendre Python en ligne, dont beaucoup sont entièrement gratuits. Lire la suite .
En savoir plus sur: Programmation orientée objet, Programmation, Python.