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" # KlassenattributInstanzattribute - einzigartig für jedes Objekt:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # Instanzattribut
self.age = age # InstanzattributErstellen 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) # 20Greifen 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 AcademyAusgabe:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyHauptunterschied: 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 attributeInstanzattribute - 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 attributeZugriff auf Instanzattribute:
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # AliceZugriff auf Klassenattribute:
print(student1.school_name) # Python Academy
print(Student.school_name) # Python AcademyProbier es selbst
Diese Lektion enthält keine Programmieraufgabe.
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
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktor-Methode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlagen der VererbungDie super()-FunktionMethoden überschreibenMehrfachvererbungMethod Resolution OrderZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden
Einführung in Magic MethodsOperator-ÜberladungMagic Methods für ContainerRückblick - Eigene Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung2Dekoratoren
Einführung in DekoratorenProperty-DekoratorStatischer Methoden-DekoratorKlassenmethoden-Dekorator5Polymorphismus
Methoden-Überschreiben vertieftDuck TypingAbstrakte Klassen und MethodenInterface-DesignZusammenfassung – Formen-Rechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische und KlassenmethodenKlassendekoratorenContext Manager3Klasseneigenschaften
Instanz- vs. KlassenvariablenProperty-DekoratorenPrivate AttributeZusammenfassung – Bankkonto-Manager6Kapselung
Public, Protected, Private MemberZugriffsmodifikatorenInformation HidingProperty-Decorators für FortgeschritteneZusammenfassung - Studentenverwaltungssystem12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen