python組み込み関数str()とrepr()の違い

2240 ワード

1.str()は一般的に数値を文字列に変換するものであり、str()関数で得られる文字列は可読性が良い(したがってprintによって呼び出される).repr()は、オブジェクトを文字列表示に変換し、repr()関数はオブジェクトを解釈器読み取りのための形式に変換します.dictとlistをサポートします.reprはrepresentationと記述を意味し、人に対する記述ではなくpython機械に対する記述、すなわちpythonでの記述に何かを返す.pythonに友好的です.repr()関数で得られた文字列は、通常、オブジェクトを再取得するために使用することができ、通常、obj=eval(repr(obj))という式が成立する.3.pythonのstr()もリストや辞書などのオブジェクトを文字列に変換できます.ユーザーに友好的で実際にpythonのprint(x,y)は、
import sys sys.stdout.write(str(X)+’ ‘+str(Y)+’’)
したがって、strメソッドを再ロードすると、str()とprintが新しいメソッド印刷を呼び出します.str()とprint呼び出し_str_メソッド、存在しない場合に呼び出す_repr_方法
>>> d=dict(a=1,x=3)
>>> str(d)
"{'a': 1, 'x': 3}"
>>> repr(d)
"{'a': 1, 'x': 3}"
>>> a='hi'
>>> b=str(a)
>>> b
'hi'
>>> c=repr(a)
>>> c
"'hi'"
>>> d=eval(repr(a))
>>> d
'hi'
>>> a==b
True
>>> a==d
True
>>> a==c
False
>>> b==c
False
>>> a==b
True
>>> c==d
False
>>> c==c
True
>>> d==b
True