Я запустил код ниже, вызвав функцию в конструкторе
Первый -
>>> 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
Еще раз я запускаю это, и я получаю это
>>> 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
Могу ли я не вызывать функцию в конструкторе? и что за отклонение в исполнении аналогичного кода?
Примечание. Я забыл вызвать функцию, локальную для класса, используя self (например, self.printName ()). Извиняюсь за пост.