Pythonは文字列に任意の値への道を持っている:それは()またはSTR()関数とrepr渡します。
STR()関数は、人間が読める形式に適した値に変換するために使用され、フォームに変換するためのrepr()はインタプリタによって読み取ら。
数値型、リスト型、STRとのrepr加工方法についても同様である、文字列型、STRと異なる方法を処理するためのrepr方法。
文字列を取得するためのrepr()関数は、多くの場合、開発及び利用のデバッグの段階のために、より親しみやすいPython用のオブジェクト、のrepr()の入力を取得するために使用することができます。典型的には、OBJ ==評価(のrepr(OBJ))この式が成立します。
>>> obj
=
'I love Python'
>>> obj
=
=
eval
(
repr
(obj))
True
そして、str印刷用()関数この関数を行い、STR()関数()出力
1 >>> OBJ = ' 私は、Pythonを愛する' 2 >>> OBJ == のeval(のrepr(OBJ)) 3 真 4 >>> OBJ == のeval(STR(OBJ)) 5 トレースバック(最新の呼び出しの最後): 6 ファイル" <STDIN> "、行1、で、<モジュール> 7 ファイル" <文字列> "、1行目 8は、 私は、Pythonを愛する 9 ^ 10でSyntaxError:無効な構文
(のpython3まで)のrepr()関数は次のとおりです。
1 >>>のrepr([0,1,2,3 ]) 2 ' [0、1、2、3] ' 3 >>>のrepr(' ハロー' ) 4 " 'ハロー' " 5 6 >>> STR (1.0 / 7.0 ) 7 ' 0.14285714285714285 ' 8 >>>のrepr(1.0 / 7.0 ) 9 ' 0.14285714285714285 '
コントラスト:
1 >>>のrepr(' こんにちは' ) 2 " 'ハロー' " 3 >>> STR(' こんにちは' ) 4 ' ハロー'
一般的なケースの場合:
1 >>> = テスト() 2 >>> A 3 < __main__ 0x000001BB1BD228D0で.TESTオブジェクト> 4 >>> プリント() 5 < __main__ 0x000001BB1BD228D0で.TESTオブジェクト> 6 >>>
メモリアドレス入力オブジェクトまたは我々は、リターンが対象である(オブジェクト)を印刷するかどうか
メソッド__str__ました:
1 >>> クラステスト(): 2 DEF __str__ (自己): 3 リターン " 你好" 4 5 6 >>> = テスト() 7 >>> A 8 < __main__ 0x000001BB1BD22860で.TESTオブジェクト> 9 >> > 印刷(A) 10 你好 11 >>>
我々は端末入力オブジェクトである場合、オブジェクトは自動的に__str__メソッドを呼び出しますプリントを使用し、メモリアドレスを返します
メソッド__repr__を:
1 >>> クラステスト(): 2 DEF __repr__ (自己): 3 リターン " ハロー" 。4 。5 >>> A = 試験() 。6 >>> A 7。 ハロー 8。 >>> プリント(A) 9。 あなた良い 10 >>>
私たちは、端末内のオブジェクトを入力した場合、印刷が自動的にメソッド__repr__を呼び出します使い
簡単にデバッグするための鍵情報の一部を返すために一般的には、開発中のプログラマー、使用__repr__。