繁体   English   中英

python,__ str__一个私有变量

[英]python, __str__ a private variable

我正在尝试使用私有变量,所以做了这个测试案例。

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(x)期望x.__str__()返回一个字符串,而您的则什么也不返回(NoneType)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM