>>> x = 'foo'
>>> x
'foo'
Böylece ad dizeye x
eklenir 'foo'
. Örneğin aradığınızda repr(x)
yorumlayıcı 'foo'
yerine koyar x
ve sonra çağırır repr('foo')
.
>>> repr(x)
"'foo'"
>>> x.__repr__()
"'foo'"
repr
aslında sihirli yöntemini çağırır __repr__
ait x
verir dizesini değerinin gösterimi içeren 'foo'
atanan x
. Böylece sonuçta ortaya çıkan 'foo'
dizenin içine geri döner . Buradaki fikir , yorumlayıcıya yazabileceğimiz ve bağımsız değişken olarak gönderilen aynı değeri elde edebileceğimiz bir dizi sembol içeren bir dize vermektir .""
"'foo'"
repr
repr
>>> eval("'foo'")
'foo'
Aradığımızda , tercümanda yazdığımızla eval("'foo'")
aynıdır 'foo'
. Dış dizenin içeriğini doğrudan ""
yorumlayıcıya yazdığımız gibidir.
>>> 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
Eğer ararsak eval('foo')
, foo
tercümanda yazdığımızla aynıdır . Ancak foo
kullanılabilir bir değişken yoktur ve bir istisna ortaya çıkar.
>>> str(x)
'foo'
>>> x.__str__()
'foo'
>>>
str
yalnızca nesnenin dize temsilidir (unutmayın, x
değişken başvurur 'foo'
), bu nedenle bu işlev dize döndürür.
>>> str(5)
'5'
Tamsayı String gösterimi 5
olup '5'
.
>>> str('foo')
'foo'
Ve dizenin dize gösterimi 'foo'
aynı dizedir 'foo'
.