>>> x = 'foo'>>> x'foo'
因此,名称x将附加到
'foo'字符串。例如
repr(x),当你致电时,解释器放
'foo'而不是,x然后致电
repr('foo')。>>> repr(x)"'foo'">>> x.__repr__()"'foo'"
repr实际调用一个魔术方法
__repr__的
x,这给串包含该值的表示
'foo'分配给
x。因此,它会
'foo'在字符串”“中返回结果”
'foo'"。的想法
repr是给出一个包含一系列符号的字符串,我们可以在解释器中键入该符号并获得与作为参数发送给的相同值repr。
>>> eval("'foo'")'foo'当我们调用时
eval("'foo'"),它与我们'foo'在解释器中键入的相同。就像我们直接”“在解释器中键入外部字符串的内容一样。
>>> eval('foo')Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> eval('foo') File "<string>", line 1, in <module>NameError: name 'foo' is not defined如果调用
eval('foo'),则与foo在解释器中键入的相同。但是没有foo可用的变量,并且引发了异常。>>> str(x)'foo'>>> x.__str__()'foo'>>>
str只是对象的字符串表示形式(请记住,
x变量是指
'foo'),因此此函数返回字符串。
>>> str(5)'5'
整数的字符串表示形式5是
'5'。
>>> str('foo')'foo'并且字符串的字符串表示形式
'foo'是相同的字符串
'foo'。



