我如何使用__str__方法python

问题描述 投票:-4回答:3

如何使用str方法以逗号分隔和方括号显示列表,例如:

测试:

my_list = UnorderedList()

for i in range(5):

  my_list.add(i) 

打印(my_list)

结果:

[4, 3, 2, 1, 0]

string python-3.x methods
3个回答
1
投票

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)


0
投票

您可以简单地使用str()函数并将列表作为要显示的参数传递。例如,

tmp_list = [1,2,3,4]

print str(tmp_list)

0
投票

它们用于提供字符串表示,并使用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
© www.soinside.com 2019 - 2024. All rights reserved.