Attributs
Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 6 sur 64.
Les attributs sont des données ou des variables qui appartiennent à une classe ou à ses objets. Ils stockent des informations sur l'état de l'objet.
Il existe deux types d'attributs :
Attributs de classe - partagés par tous les objets de la classe :
class Student:
school_name = "Python Academy" # attribut de classeAttributs d'instance - uniques à chaque objet :
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # attribut d'instance
self.age = age # attribut d'instanceCréez des objets étudiants et définissez leurs données individuelles :
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Accédez aux attributs d'instance (uniques à chaque objet) :
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Accéder aux attributs de classe (identiques pour tous les objets) :
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademySortie :
Alice
Bob
20
Python Academy
Python Academy
Python AcademyDifférence clé : Les attributs de classe sont partagés par tous les objets, tandis que les attributs d'instance sont uniques à chaque objet. Utilisez self.attribute_name pour les attributs d'instance et simplement attribute_name pour les attributs de classe.
Aide-mémoire
Les attributs sont des données ou des variables qui appartiennent à une classe ou à ses objets.
Attributs de classe - partagés par tous les objets de la classe :
class Student:
school_name = "Python Academy" # class attributeAttributs d'instance - uniques à chaque objet, définis en utilisant self :
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # instance attribute
self.age = age # instance attributeAccéder aux attributs d'instance :
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # AliceAccéder aux attributs de classe :
print(student1.school_name) # Python Academy
print(Student.school_name) # Python AcademyEssayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Object Oriented Programming
1Les fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses vs ObjetsLe paramètre selfMéthodesAttributsMéthode constructeur (__init__)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLa fonction super()Redéfinition de méthodeHéritage multipleOrdre de résolution des méthodesRécapitulatif - Hiérarchie des employés7Méthodes spéciales
Introduction aux méthodes magiquesSurcharge d'opérateursMéthodes magiques de conteneurRécapitulatif - Liste personnalisée10Patrons de conception, Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron Strategy2Décorateurs
Introduction aux décorateursDécorateur de propriétéDécorateur de méthode statiqueDécorateur de méthode de classe5Polymorphisme
Retour sur la redéfinition de méthodeDuck TypingClasses et méthodes abstraitesConception d'interfacesRécapitulatif - Calculateur de formes8Concepts avancés de la POO
Composition vs HéritageMixinsMéthodes statiques et de classeDécorateurs de classeGestionnaires de contexte11Patrons de conception, Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode TemplatePatron ÉtatPatron Composite3Propriétés de classe
Variables d'instance vs variables de classeDécorateurs de propriétéAttributs privésRécapitulatif - Gestionnaire de compte bancaire