3 Stimmen

NameError beim Aufruf einer Funktion im Konstruktor

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X