Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの__str__と__repr__の違いは何ですか?


組み込み関数repr()およびstr()は、それぞれobject .__ repr __(self)およびobject .__ str __(self)メソッドを呼び出します。最初の関数はオブジェクトの公式表現を計算し、2番目の関数はオブジェクトの非公式表現を返します。

両方の関数の結果は、整数オブジェクトでも同じです。

>>> x = 1 
>>> repr(x)
'1'
>>> str(x)
'1'

ただし、文字列オブジェクトには当てはまりません。

>>> x = "Hello"
>>> repr(x)
"'Hello'"
>>> str(x)
'Hello'

文字列オブジェクトのrepr()の戻り値は、eval()関数で評価でき、有効な文字列オブジェクトになります。ただし、str()の結果は評価できません。

>>> y1 = repr(x)
>>> eval(y1)
'Hello'
>>> y2 = str(x)
>>> eval(y2)
NameError: name 'Hello' is not defined
>

要約する。 repr()は、オブジェクトのデフォルトの明確な表現を返します。一方、str()は、読み取り可能であるが常に明確であるとは限らない非公式の表現を提供します。


  1. Tkinter(Python)のroot.destroy()とroot.quit()の違いは何ですか?

    destroy()を呼び出すとき tkinterウィンドウオブジェクトを使用するメソッドは、メインループを終了します ウィンドウ内のすべてのウィジェットを処理して破棄します。 Tkinter destroy() メソッドは主に、バックグラウンドで実行されているインタープリターを強制終了して終了するために使用されます。 ただし、 quit() mainloop()の後でプロセスを停止するために、メソッドを呼び出すことができます。 働き。ボタンオブジェクトを作成することで、両方のメソッドの機能を示すことができます。 例 #Import the required libraries from

  2. Pythonのtkinterとtkinter.ttkのウィジェットの違いは何ですか?

    tkinter.ttk tkinterウィジェットのスタイルを設定するために使用されるモジュールです。 CSSを使用してHTML要素のスタイルを設定するのと同じように、tkinter.ttkを使用してtkinterウィジェットのスタイルを設定します。 tkinterウィジェットとtkinter.ttkの主な違いは次のとおりです。 − Tkinterウィジェットは、ボタン、ラベル、テキスト、スクロールバーなどを追加するために使用されますが、tkinter.ttkは、tkinterウィジェットと比較してさまざまなウィジェットをサポートしています。 Tkinter.ttkはPlac