Classes Python

Classes Python

Introduction

Les classes sont la pierre angulaire de la programmation orientée objet. Ce sont les plans utilisés pour créer des objets. Et, comme son nom l'indique, tous les programmes orientés objet se concentrent sur l'utilisation d'objets pour créer des programmes.

Vous n'écrivez pas d'objets, pas vraiment. Ils sont créés, ou instanciés, dans un programme utilisant une classe comme base. Donc, vous concevez des objets en écrivant des cours. Cela signifie que la partie la plus importante de la compréhension de la programmation orientée objet est de comprendre ce que sont les classes et comment ils fonctionnent.

Exemples du monde réel

Cette prochaine partie si elle va être abstraite. Vous pouvez penser aux objets dans la programmation comme des objets dans le monde réel. Les classes sont alors la façon dont vous décriveriez ces objets et les plans de ce qu'ils peuvent faire.

Commencez par penser à une voiture. La voiture est un terme assez général, mais il y a des concepts universels que vous pouvez appliquer à presque n'importe quelle voiture. Ils ont tous quatre roues, un moteur, une transmission, des portes, un volant, etc. De plus, ils ont tous une marque et un modèle. Chacune de ces informations ne pouvait-elle pas être stockée dans une variable pour décrire une voiture spécifique?

Et ce qu'ils peuvent faire? Presque chaque voiture peut faire les mêmes choses de base, mais elles peuvent bien les faire différemment ou à différentes vitesses. Vous pouvez ensuite décrire les actions qu'une voiture peut effectuer en utilisant des fonctions. Dans la programmation orientée objet, cependant, les fonctions sont appelées méthodes.

Donc, si vous cherchiez à utiliser des objets de «voiture» dans votre programme, vous créeriez une classe «voiture» pour servir de plan avec toutes les variables que vous voudriez contenir des informations sur vos objets «voiture» et tous les méthodes pour décrire ce que vous aimeriez que vos voitures puissent faire.

Une classe Python

Maintenant que vous avez une idée générale de ce qu'est une classe, il est préférable de jeter un œil à une vraie classe Python et d'étudier comment elle est structurée.

Class Car (Object): Make = 'Ford' Model = 'Pinto' Year = '1971' kilomage = 253812 Engine = '4 Cylinder' Transmission = 'Manual' Horsepower = 100 Color = 'Orange' Def Move_Forward (Self, Speed) : imprimer ("Aller de l'avant à% s"% vitesse) def move_backward (self, vitesse): imprimer ("se déplaçant en arrière à% s"% vitesse) 

La création d'une classe ressemble beaucoup à la création d'une fonction. Au lieu de def vous utilisez le mot-clé, classe. Ensuite, vous lui donnez un nom, tout comme vous le feriez pour une fonction. Il a également une parenthèse comme une fonction, mais ils ne fonctionnent pas comme vous le pensez. Pour une classe, les parenthèses lui permettent d'étendre une classe existante. Ne vous inquiétez pas pour cela maintenant, comprenez simplement que vous devez mettre objet là parce que c'est la base de toutes les autres classes.

De là, vous pouvez voir un tas de choses familières que vous verriez flotter autour de n'importe quel programme, variables et fonctions Python. Il existe une série de variables avec des informations sur la voiture et quelques méthodes (fonctions) décrivant ce que la voiture peut faire. Vous pouvez voir que chacune des méthodes prend deux paramètres, soi et vitesse. Vous pouvez voir que la «vitesse» est utilisée dans les méthodes pour imprimer à quelle vitesse la voiture va, mais «soi» est différent.

Qu'est-ce que soi-même?

Très bien, donc «soi» est la plus grande bizarrerie dans la façon dont Python gère la programmation orientée objet. Dans la plupart des langues, les classes et les objets sont juste conscients de leurs variables dans leurs méthodes. Python doit être dit de se souvenir d'eux. Lorsque vous passez «soi» à une méthode, vous passez essentiellement cet objet à sa méthode pour lui rappeler toutes les variables et autres méthodes de cet objet. Vous devez également l'utiliser lorsque vous utilisez des variables dans les méthodes. Par exemple, si vous vouliez sortir le modèle de la voiture avec la vitesse, cela ressemble à ceci.

Imprimer ("Votre% S va de l'avant à% S"% (Self.modèle, vitesse))

C'est maladroit et étrange, mais ça marche, et ça ne vaut vraiment pas la peine de s'inquiéter. N'oubliez pas d'inclure «soi» comme premier paramètre de vos méthodes et «soi.«Devant vos variables, et tout ira bien.

Utilisation d'une classe

Vous êtes prêt à commencer à utiliser la classe de voiture. Créez un nouveau fichier Python et collez la classe dans. Ci-dessous, vous pouvez créer un objet en l'utilisant. Création ou instanciation, un objet de Python ressemble à la ligne ci-dessous.

myCar = Car ()

C'est ça. Pour créer un nouvel objet, il vous suffit de faire une nouvelle variable et de le définir égal à la classe sur laquelle vous basez votre objet sur.

Testez votre tout nouveau Ford Pinto 1971. Obtenez votre objet de voiture pour imprimer sa marque et son modèle.

imprimer ("% s% s"% (myCar.faire mycar.modèle))

L'utilisation d'un . entre un objet et ses composants internes est appelé la notation de points. C'est très courant dans OOP. Il fonctionne pour les méthodes de la même manière que pour les variables. Essayez de mettre votre voiture en arrière à 5 mph.

ma voiture.MOVE_BACKWARD ('5MPH')

Et si vous voulez changer la couleur de votre voiture? Vous pouvez certainement le faire aussi, et cela fonctionne comme modifier la valeur de toute autre variable. Essayez d'abord d'imprimer la couleur de votre voiture. Ensuite, changez la couleur et imprimez à nouveau.

Print ("La couleur de ma voiture est% s"% mycar.couleur) mycar.Impression Color = "Green" ("La couleur de ma voiture est% s"% mycar.couleur) 

Votre voiture est verte maintenant. Et une nouvelle voiture? Si vous faisiez un nouvel objet de voiture, serait-ce vert? Donner un coup de feu.

MyNewCar = Car () Print ("La couleur de ma nouvelle voiture est% s"% myNewCar.couleur) 

Celle de l'orange. Les nouveaux objets sont copiés de la classe, et la classe dit toujours que la couleur est orange. Les objets existent dans la mémoire de l'ordinateur pendant qu'un programme s'exécute. Lorsque vous modifiez les valeurs au sein d'un objet, ils sont spécifiques à cet objet tel qu'il existe en mémoire. Les modifications ne persisteront pas une fois que le programme s'arrête et ne changera pas la classe dont elle a été créée.

Réflexions de clôture

C'est suffisant sur les cours pour l'instant. De toute évidence, il y a beaucoup plus à couvrir, mais vous devriez prendre le temps de vous familiariser avec tout ce qui est couvert jusqu'à présent. Essayez les exercices ci-dessous pour manipuler la classe «voiture» et vous familiariser avec la façon dont les classes et les objets fonctionnent à Python.

Pratique

  1. Créer un nouvel objet de voiture et changer sa couleur en rouge.
  2. Faites avancer votre voiture à 15 mph.
  3. Mettez une transmission automatique dans votre voiture.
  4. Créer une nouvelle voiture. Utilisez un opérateur booléen pour comparer les couleurs des voitures.
  5. Changer la recule Méthode pour inclure le modèle de la voiture.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Choses à installer sur Ubuntu 22.04
  • Masterring Bash Script Loops
  • Ubuntu 20.04 Guide
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Tutoriel de débogage GDB pour les débutants