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

repr()関数はPythonオブジェクト指向プログラミングで何をしますか?


Pythonの公式ドキュメントには、オブジェクトの「公式」文字列表現を計算するために__repr __()が使用されていると記載されています。 repr()組み込み関数は、__ repr __()を使用してオブジェクトを表示します。 __repr __()は、オブジェクトの印刷可能な表現を返します。これは、このオブジェクトを作成するための方法の1つです。 __repr __()は開発者にとってより便利ですが、__ str __()はエンドユーザーにとって便利です。

次のコードは、__ repr __()の使用方法を示しています。

class Point:

   def __init__(self, x, y):

     self.x, self.y = x, y

   def __repr__(self):

     return 'Point(x=%s, y=%s)' % (self.x, self.y)

p = Point(3, 4)

print p
出力 これにより出力が得られます

Point(x=3, y=4)

repr()関数の別の使用例を検討し、日時オブジェクトを作成しましょう-

>>> import datetime
>>> today = datetime.datetime.now()
組み込み関数repr()を使用して今日表示する場合-

>>> repr(today)
'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'

これは文字列を返したことがわかりますが、この文字列は日時オブジェクトの「公式」表現です。つまり、この「公式」文字列表現を使用してオブジェクトを再構築できます-

>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)')
datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)
>

eval()組み込み関数は文字列を受け入れ、それを日時オブジェクトに変換します。


  1. raw_input()関数はPythonで何をしますか?

    関数raw_input()は、ユーザーにプロンプ​​トを表示し(raw_input([arg])のオプションの引数)、ユーザーから入力を取得し、ユーザーが入力したデータをストリング。たとえば、 name = raw_input("What is your name? ") print "Hello, %s." % name これはinput()とは異なり、後者はユーザーからの入力を解釈しようとします。通常は、input()を避け、raw_input()とカスタムの解析/変換コードを使用するのが最善です。

  2. Pythonでreload()関数は何をしますか?

    関数reload(moduleName)は、以前にロードされたモジュールをリロードします(構文 import moduleNameでロードしたと仮定します。これは、ソースファイルを編集した会話用です。モジュールであり、Pythonを終了して再起動せずにテストしたい場合。たとえば、 >>> import mymodule >>> # Edited mymodule and want to reload it in this script >>> reload(mymodule) moduleNameはモジュールの実際の名前であり、その名前を