如何使用str方法以逗号分隔和方括号显示列表,例如:
测试:
my_list = UnorderedList()
for i in range(5):
my_list.add(i)
打印(my_list)
结果:
[4, 3, 2, 1, 0]
print
函数(或Python 2.x中的语句)已经在其参数上调用str
,因此您不必执行任何操作:
>>> print([1, 2, 3])
[1, 2, 3]
>>> print([])
[]
>>> a = [1, 2, 3]
>>> print(a)
[1, 2, 3]
正如文件所说:
所有非关键字参数都转换为
str()
所做的字符串并写入流...
如果你想除了打印之外的其他目的得到字符串(例如,写入文件),你总是可以在上面调用str
。它只是一个像其他任何函数一样的函数(嗯,类型构造函数,但不要担心):
>>> s = str(a)
>>> s
'[1, 2, 3]'
正如文档解释:
str(object)
返回object.__str__()
,它是对象的“非正式”或可打印的字符串表示形式。对于字符串对象,这是字符串本身。如果对象没有__str__()
方法,那么str()
会回归到返回repr(object)
。
您可以简单地使用str()
函数并将列表作为要显示的参数传递。例如,
tmp_list = [1,2,3,4]
print str(tmp_list)
它们用于提供字符串表示,并使用repr专门用于在控制台或打印中表示对象时提供对象表示
class StringRepresentation:
def __init__(self):
pass
def __str__(self):
return "String Representation of Object used when object used as string represenation"
def __repr__(self):
return "Object Representation"
obj = StringRepresentation()
print(str(obj))```
UnorderedList is printing because this is the way how it __str__ or __repr__ is implemented