ホームページ  >  記事  >  バックエンド開発  >  Python の __repr__() 関数を使用してオブジェクトの文字列表現を定義する

Python の __repr__() 関数を使用してオブジェクトの文字列表現を定義する

PHPz
PHPzオリジナル
2023-08-22 12:05:111079ブラウズ

Python の __repr__() 関数を使用してオブジェクトの文字列表現を定義する

Python の __repr__() 関数を使用してオブジェクトの文字列表現を定義する

Python プログラミングでは、一般的にオブジェクトの文字列表現をカスタマイズする必要があります。表現形式プログラムのデバッグと出力を容易にするため。 Python には、オブジェクトの文字列表現を定義するために使用できる __repr__() 関数が用意されています。

__repr__() は、オブジェクトの印刷可能な文字列表現を返す Python の特別なメソッドです。 print() 関数を使用してオブジェクトを出力すると、実際にはオブジェクトの __repr__() メソッドが呼び出されます。オブジェクトをコンソールに直接出力する場合も、同じメカニズムが機能します。

以下の例を使用して、__repr__() 関数を使用してオブジェクトの文字列表現を定義する方法を示します。

class Student:
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score

    def __repr__(self):
        return f"Student(name={self.name}, age={self.age}, score={self.score})"

上記のコードでは、生徒の名前、年齢、スコアという 3 つの属性を含む Student クラスを定義し、__repr__() 関数で f-string を使用してオブジェクトの String 表現を定義します。このようにして、print() 関数を使用して Student オブジェクトを出力すると、「Student(name=Tom, age=18,score=90)」のような文字列が得られます。

次に、Student オブジェクトをインスタンス化し、その文字列表現を出力してみます。

student = Student("Tom", 18, 90)
print(student)

出力結果は次のとおりです:

Student(name=Tom, age=18, score=90)

結果からわかるように、オブジェクトの文字列表現のカスタマイズに成功し、出力がより読みやすくなり、デバッグに便利になりました。

Python には、__repr__() 関数に加えて、オブジェクトの説明文字列を返す __str__() 関数も用意されています。 __repr__() とは異なり、__str__() 関数は人間が読める文字列を提供するのに便利ですが、__repr__() はデバッグや開発中の出力に適しています。

__repr__() 関数を使用してオブジェクトの文字列表現を定義することは、非常にシンプルかつ柔軟であることがわかります。 __repr__() 関数をカスタマイズすることで、オブジェクトの出力形式を柔軟に制御し、より有用な情報を提供できます。

要約すると、Python の __repr__() 関数を使用すると、オブジェクトの文字列表現を簡単にカスタマイズでき、コードの可読性とデバッグ効率が向上します。 __repr__() 関数を理解し、合理的に使用することは、優れた Python プログラムを作成するのに非常に役立ちます。

以上がPython の __repr__() 関数を使用してオブジェクトの文字列表現を定義するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。