Menu
Coddy logo textTech

Attribute

Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 6 von 64.

Attribute sind Daten oder Variablen, die zu einer Klasse oder deren Objekten gehören. Sie speichern Informationen über den Zustand des Objekts.

Es gibt zwei Arten von Attributen: 

Klassenattribute – werden von allen Objekten der Klasse geteilt:

class Student:
    school_name = "Python Academy"  # Klassenattribut

Instanzattribute - einzigartig für jedes Objekt:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # Instanzattribut
        self.age = age      # Instanzattribut

Erstellen Sie Studenten-Objekte und legen Sie deren individuelle Daten fest:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

Greifen Sie auf Instanzattribute zu (einzigartig für jedes Objekt):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

Greifen Sie auf Klassenattribute zu (identisch für alle Objekte):

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

Ausgabe:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

Hauptunterschied: Klassenattribute werden von allen Objekten geteilt, während Instanzattribute für jedes Objekt eindeutig sind. Verwenden Sie self.attribute_name für Instanzattribute und einfach attribute_name für Klassenattribute.

Spickzettel

Attribute sind Daten oder Variablen, die zu einer Klasse oder deren Objekten gehören.

Klassenattribute - werden von allen Objekten der Klasse geteilt:

class Student:
    school_name = "Python Academy"  # class attribute

Instanzattribute - sind für jedes Objekt einzigartig und werden mit self definiert:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # instance attribute
        self.age = age      # instance attribute

Zugriff auf Instanzattribute:

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

Zugriff auf Klassenattribute:

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

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Object Oriented Programming