Python中的字符串对象表示
这个问题在这里已经有了答案:
__str__
(通常是读取dunder,用于double下)是一种实例方法,只要您运行str(<object>)
并返回str(<object>)
的字符串表示形式,就会调用它。
str(foo)
作为一个函数试图将foo
转换为字符串。
注意:
还有一个与__str__()
非常相似的__repr__()
方法,其主要区别是__repr__
应该返回一个明确的字符串, __str__
用于可读的字符串。 对于两者之间差异的很大回应,我建议给这个答案一个阅读。
__str__()
是一个神奇的实例方法,可以实现这一点:当使用print()
打印类实例变量时,它将为您提供一个可以通过更改__str__()
方法中的返回字符串来修改的字符串。 有可能有更好的解释,但我可以告诉你代码:
class Thing:
def __init__(self):
pass
def __str__(self):
return "What do you want?" #always use return
a = Thing()
print(a)
OUTPUT:
What do you want?
str()
只是将一个变量转换为一个字符串类型变量。
print(str(12.0))
OUTPUT:
'12.0'
您可以使用type()
函数确认它是一个字符串。
print(type(str(12.)))
我不知道确切的输出结果,但它会很可能有'str'
大胆'str'
。