Ich bin neu in Python, und ich habe ein Dilemma in Bezug auf OOP (ich bin vertraut mit OOP-Konzepte). Grundsätzlich
, ich habe eine Klasse mit einer statischen Klassenvariablen (counter
, die zeigt, wie viele Objekte ich instanziiert haben):Python OOP Objekt Instanziierung
class Employee:
counter=0
def __init__(self,name):
self.name=name
Employee.counter+=1
So, jetzt instanziieren ich ein Objekt:
obj1=Employee("Alan")
Meine Frage ist, : Was passiert, wenn ich diesen Anruf habe? Was passiert dahinter, weil die statische Variable "counter" inkrementiert wird, aber auf das so erzeugte Objekt zugegriffen werden kann?
Employee("foo")
<__main__.Employee object at 0x02A16870>
Dank
Die '__init__' -Funktion ist Ihr Konstruktor, also erhöht sie' counter' wenn Sie ein neues 'Mitarbeiter Objekt erstellen. Was genau fragst du? –
Der von Ihnen angezeigte Code wird nicht ausgeführt. 'Zähler 'sollte über die Instanz oder Klasse –
10 @MosesKoledoye zugegriffen werden: Warum nicht? Oh, ich sehe jetzt ... 'counter + = 1' sollte' Employee.counter + = 1' sein. –