我有课Numberlist
它需要一个数字列表。
class Numberlist:
def __init__(self,number):
self.number=number
def __str__(self):
for i in self.number:
print(i)
return '{}'.format('')
我想在打印对象时以以下格式显示数字列表。
x = Numberlist([1,2,3,4,5,6])
print(x)
print("done printing")
1
2
3
4
5
6
done printing
我的尝试不正确,因为输出末尾有一个空行。我被困住了,因为__str__
要求您返回字符串类型元素。
你所看到的
您会看到一个额外的换行符,因为您正在打印列表中的每个元素__str__
函数然后打印返回的值__str__
:即,""
。除非你指定end
in print
,它默认为换行符,因此您可以有效地打印"\n"
.
你(可能)想要做什么
您可能只想打印类的字符串化表示形式。如果这是每个元素换行符分隔,我会定义__str__
通过以下方式:
def __str__(self):
return '\n'.join(map(str, self.number))
这将在每个元素的字符串表示之间放置一个换行符self.number
并返回该单个字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)