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

Python で repr() 関数を使用してオブジェクトの文字列表現を取得する方法

王林
王林オリジナル
2023-08-22 12:43:512085ブラウズ

Python で repr() 関数を使用してオブジェクトの文字列表現を取得する方法

Python で repr() 関数を使用してオブジェクトの文字列表現を取得する方法

はじめに:
Python では、オブジェクトを変換する必要があることがよくあります。文字に変換 文字列の形式で出力、保存、または他の関数に渡すことができます。 repr() 関数は、Python で一般的に使用される関数の 1 つで、オブジェクトの文字列表現を取得するために使用されます。この記事では、repr()関数の使い方とコード例を紹介します。

1. repr() 関数の役割:
Python では、各オブジェクトにはデフォルトの文字列表現があり、オブジェクトの基本情報を表示するために使用されます。ただし、場合によっては、オブジェクトの詳細な属性、ステータスなどを含む、より多くのオブジェクト情報を取得する必要がある場合があります。この時点で、 repr() 関数を使用してオブジェクトの文字列表現を取得できます。
repr() 関数によって返される文字列には次の特徴があります。

  1. 文字列は一重引用符または二重引用符で囲まれます。
  2. 文字列は、eval() 関数を使用して元のオブジェクトに再変換できます。
  3. 文字列形式には、クラス名、属性、ステータスなどのオブジェクトの詳細情報が含まれます。

2. repr() 関数の使用方法:
repr() 関数の使用は非常に簡単で、オブジェクトの後にピリオド「.」を追加し、その後に repr を追加するだけです。 ()、つまり:
repr(object)

コード例:
以下は、 repr() 関数を使用してオブジェクトの文字列表現を取得する方法を示す簡単なコード例です。 :

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __repr__(self):
        return f"Person('{self.name}', {self.age})"
        
    def __str__(self):
        return f"Person: {self.name}, {self.age}"

person = Person("Tom", 25)

# 使用repr()函数输出对象的字符串表示形式
print(repr(person))  # 输出:Person('Tom', 25)

上記のコードでは、name と age の 2 つの属性を含む Person クラスを定義します。このクラスでは、 repr() 関数によって呼び出される __repr__() メソッドをオーバーライドし、 Person('Tom', 25) の形式で文字列を返します。また、__str__() メソッドもオーバーライドしました。このメソッドは print() 関数によって呼び出され、「Person: Tom, 25」の形式で文字列を返します。 person オブジェクトを出力するときは、 repr() 関数を使用してオブジェクトの文字列表現を取得します。

3. repr() 関数と str() 関数の違い:
上記のコード例では、__repr__() メソッドと __str__() メソッドを同時に書き直しました。 。これは、Python では repr() 関数と str() 関数に違いがあるためです。 repr() 関数によって返される文字列は開発とデバッグに使用され、str() 関数によって返される文字列はユーザ​​ー表示に使用されます。通常、異なるシナリオで異なる文字列表現を使用するには、両方のメソッドをオーバーライドする必要があります。

たとえば、人物オブジェクトを直接出力すると、__str__() メソッドが呼び出され、出力は次のようになります: 人物: トム、25 歳。 repr() 関数を使用して person オブジェクトの文字列表現を取得すると、__repr__() メソッドが呼び出され、出力は次のようになります: person('Tom', 25)。 2 つの違いは、 repr() 関数によって返される文字列には、開発やデバッグに便利な、より詳細な情報が含まれていることです。

結論:
この記事では、 repr() 関数を使用してオブジェクトの文字列表現を取得する方法を紹介します。 __repr__() メソッドをオーバーライドすることで、オブジェクトの文字列表現をカスタマイズし、 repr() 関数を使用してそれを返すことができます。 repr() 関数は開発やデバッグによく使用され、オブジェクトのプロパティとステータスを簡単に表示できます。実際のプログラミングでは、さまざまなシナリオで異なる文字列表現を使用できるように、実際の状況に応じて __repr__() メソッドと __str__() メソッドの両方を書き直す必要があります。

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

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