我有一个类方法,想要提取字典及其值:
def __repr__ (self):
for row in zip(*([ky]+map(str,val) for ky,val in (self.slovar.items()))):
print"\t".join (row)
如果是这样的话,我会得到期望的输出:
>>> test
n n1 n2
1 a 2.3
2 b 2.1
3 d 2.5
Traceback (most recent call last):
File "<pyshell#521>", line 1, in <module>
test
TypeError: __repr__ returned non-string (type NoneType)
但同时也会出现Traceback错误。
如果我返回值而不是将其打印出来,我只会得到这个:
>>> test
n n1 n2
如果我使用自定义方法而不是默认的“系统”方法,则可以正常工作…(但我需要它成为默认值)
__repr__
内部使用print
。 - Waleed Khan