Python中的String对象表示

时间:2018-04-26 04:16:10

标签: python python-3.x

python中的__str__()str()方法之间有什么区别?

2 个答案:

答案 0 :(得分:2)

__str__(通常读取dunder,for double under)是一个实例方法,只要您运行str(<object>)并返回对象的字符串表示形式,就会调用该方法。

str(foo)充当尝试将foo转换为字符串的函数。

注意:
还有__repr__()方法与__str__()非常相似,主要区别为__repr__应返回明确的字符串,__str__用于可读字符串。为了对两者之间的差异做出很好的回应,我建议给this answer一个读数。

答案 1 :(得分:0)

__str__()是一个神奇的实例方法,用于执行此操作:当您使用print()打印类实例变量时,它将为您提供一个字符串,可以通过更改{{中返回的字符串来修改该字符串1}}方法。可能有一个更好的解释,但我可以告诉你代码:

__str__()

<强>输出:

class Thing:
    def __init__(self):
        pass
    def __str__(self):
       return "What do you want?"  #always use return

a = Thing()
print(a)

What do you want? 只是将变量转换为字符串类型变量。

str()

<强>输出:

print(str(12.0))

您可以使用'12.0' 函数确认它是一个字符串。

type()

我不知道确切的输出结果,但它中只有print(type(str(12.)))