Menu
Coddy logo textTech

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 classe

Attributs 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'instance

Cré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)     # 20

Accé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 Academy

Sortie :

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Diffé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 attribute

Attributs 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 attribute

Accéder aux attributs d'instance :

student1 = Student()
student1.set_info("Alice", 20)
print(student1.name)    # Alice

Accéder aux attributs de classe :

print(student1.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

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