Instanz- und Klassenattribute
Unterscheiden Sie zwischen objektbezogenen Daten und gemeinsam genutzten Daten auf Klassenebene.
Instanz- und Klassenattribute ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Einführung
Klassenattribut
class Dog:
legs = 4
print(Dog.legs)
print(Dog().legs)Instanzattribut
class Dog:
def __init__(self, name):
self.name = name
d1 = Dog('Rex')
d2 = Dog('Buddy')
print(d1.name, d2.name)Reihenfolge der Attributsuche
class C:
x = 10
c = C()
c.x = 99 # instance shadows class attr
print(c.x) # 99
print(C.x) # 10Falle mit veränderlichen Klassenattributen
class C:
items = []
C.items.append(1)
print(C().items) # [1] — shared!Die Falle mit veränderlichen Attributen vermeiden
class C:
def __init__(self):
self.items = []
c1 = C(); c2 = C()
c1.items.append(1)
print(c1.items, c2.items)__dict__ untersuchen
class Dog:
legs = 4
def __init__(self, name): self.name = name
d = Dog('Rex')
print(d.__dict__)
print(Dog.__dict__.keys())Klassenmethoden als Factory-Methoden
class Date:
def __init__(self, y, m, d): self.y,self.m,self.d=y,m,d
@classmethod
def from_string(cls, s):
y,m,d=map(int,s.split('-'))
return cls(y,m,d)
dt=Date.from_string('2024-01-15')
print(dt.y,dt.m,dt.d)Statische Methoden
class MathUtils:
@staticmethod
def add(a, b): return a + b
print(MathUtils.add(3, 4))Instanzen mit einem Klassenattribut zählen
class Widget:
count = 0
def __init__(self):
Widget.count += 1
Widget(); Widget(); Widget()
print(Widget.count)hasattr() und vars()
class P:
def __init__(self, x): self.x = x
p = P(5)
print(hasattr(p, 'x'), hasattr(p, 'z'))
print(vars(p))Kurzer Test
Zusammenfassung
Weiter
Häufig gestellte Fragen
Ist die Lektion „Instanz- und Klassenattribute“ kostenlos?
Ja — der vollständige Text von „Instanz- und Klassenattribute“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Instanz- und Klassenattribute“?
Unterscheiden Sie zwischen objektbezogenen Daten und gemeinsam genutzten Daten auf Klassenebene. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Instanz- und Klassenattribute“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Klassen und die __init__-Methode
- Instanz- und Klassenattribute
- Instanzmethoden und self
- Magic Methods: __str__ und __repr__