Python中的字符串对象表示
python中的Python中的字符串对象表示,python,python-3.x,Python,Python 3.x,python中的\uuu str\uuu()和str()方法之间有什么区别?\uu str\uuuu(通常为dunder,例如double-under)是一个实例方法,在运行str()时调用该方法并返回对象的字符串表示形式 str(foo)充当试图将foo转换为字符串的函数 注意: 还有一种\uuuuu repr\uuuuuu()方法与\uuu str\uuuuuu()非常类似,主要区别在于\uuuuuu repr\uuuuuuu应该返回一个明确的字符串,而\uuuuuuuu str\uuuuu
\uuu str\uuu()
和str()
方法之间有什么区别?\uu str\uuuu
(通常为dunder,例如double-under)是一个实例方法,在运行str()
时调用该方法并返回对象的字符串表示形式
str(foo)
充当试图将foo
转换为字符串的函数
注意:还有一种
\uuuuu repr\uuuuuu()
方法与\uuu str\uuuuuu()
非常类似,主要区别在于\uuuuuu repr\uuuuuuu
应该返回一个明确的字符串,而\uuuuuuuu str\uuuuuuuuu>
用于可读字符串。对于这两种方法之间的差异,我建议大家读一读。\uuuu str\uuuu()
是一种神奇的实例方法,它可以做到这一点:当您使用print()
打印类实例变量时,它将为您提供一个字符串,您可以通过在\uu str\uuu()
方法中更改返回的字符串来修改该字符串。可能有更好的解释,但我可以用代码向您展示:
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?
'12.0'
str()
只是将变量转换为字符串类型的变量
print(str(12.0))
输出:
What do you want?
'12.0'
您可以使用type()
函数确认它是一个字符串
print(type(str(12.)))
我不知道它的确切输出,但人们可能会在它里面有
'str'
。检查这个。从某种意义上看,str==operator.methodcaller(“\uu str\uuu”)
定义了两者之间的关系。@Jerrybibo不太清楚str
是一种类型<代码>\uuuu str\uuuu是一种实例方法。很好@切普纳:我需要温习一下我的术语。