我是 Python 的初学者,不了解以下内容:我定义了一个类和一个列表。当我想在附加后打印列表时,我没有得到字符串,尽管我有一个方法应该返回一个字符串,对吗?我不明白这里有什么问题.. :/ 我希望结果是 [14,12] ... 如果有人知道我做错了什么,请告诉我:/
class av:
def __init__(self, num):
self.num = num
def __str__(self,num):
self.num = num
return str(self.num)
lst = []
lst.append(av(14))
lst.append(av(12))
print(lst)
Run Code Online (Sandbox Code Playgroud)
结果:
[<__main__.av object at 0x102503dd0>, <__main__.av object at 0x102505d90>]
Run Code Online (Sandbox Code Playgroud)
__str__仅在您print对象时使用,您可以使用__repr__它在控制台上获得方便的“表示”(更多详细信息):
>>> class av:
... def __init__(self, num):
... self.num = num
... def __str__(self):
... return str(self.num)
... def __repr__(self):
... return 'av(%d)' % self.num
...
>>> av(12)
av(12)
>>> print(av(12))
12
>>> [av(12), av(12)]
[av(12), av(12)]
>>> print([av(12), av(12)])
[av(12), av(12)]
Run Code Online (Sandbox Code Playgroud)