Ich habe den folgenden Code ausgeführt, indem ich die Funktion im Konstruktor aufgerufen habe
Erstens.
>>> class PrintName:
... def __init__(self, value):
... self._value = value
... printName(self._value)
... def printName(self, value):
... for c in value:
... print c
...
>>> o = PrintName('Chaitanya')
C
h
a
i
t
a
n
y
a
Noch einmal führe ich dies aus und erhalte folgendes Ergebnis
>>> class PrintName:
... def __init__(self, value):
... self._value = value
... printName(self._value)
... def printName(self, value):
... for c in value:
... print c
...
>>> o = PrintName('Hello')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in __init__
NameError: global name 'printName' is not defined
Kann ich nicht eine Funktion in den Konstruktor aufrufen? und wie eine Abweichung bei der Ausführung von ähnlichen Code?
Hinweis: Ich habe vergessen, eine klasseninterne Funktion mit self aufzurufen (z. B. self.printName()). Ich entschuldige mich für den Beitrag.