0
Я пытаюсь работать с частными переменными, поэтому сделал этот тестовый пример.python, __str__ приватная переменная
class X():
def __init__(self):
self.__a = 0
def __str__(self):
print(self.getA())
def getA(self):
return self.__a
x = X()
print(x.getA())
print(str(x.getA()))
print(x)
выход:
0
0
0
Traceback (most recent call last):
File "/Users/lego90511/Documents/workspace/dummy/dummy.py", line 150, in <module>
print(x)
TypeError: __str__ returned non-string (type NoneType)
Является ли ошибка, потому что это личное? Потому что это не имеет смысла для меня, потому что работает getA().
Хорошо, я исправил строку str так, что теперь она str (self.getA()), но я все равно получаю ту же ошибку. – EasilyBaffled
'return str (self.getA())' или 'return str (self .__ a)' –