Python で getattr() 関数を使用してオブジェクトの属性値を取得する方法
Python プログラミングでは、属性値を取得する必要がある状況によく遭遇します。オブジェクトの属性値。 Python には、この目標の達成に役立つ組み込み関数 getattr()
が用意されています。 getattr()
この関数を使用すると、オブジェクトと属性名をパラメーターとして渡すことによって、オブジェクトの属性値を取得できます。この記事では、getattr()
関数の使用法を詳しく紹介し、理解を深めるために実際のコード例を示します。
getattr()
関数の構文は次のとおりです。
getattr(object, name[, default])
このうち、object
は属性値を取得するオブジェクトです。 name
は属性の名前です。オプションの default
パラメータは、属性が存在しない場合に返されるデフォルト値を示します。デフォルトは None
です。
次に、getattr()
関数の使用法を示すいくつかの例を見てみましょう。まず、単純なクラス Person
:
class Person: def __init__(self, name, age): self.name = name self.age = age
を定義します。次に、Person
オブジェクトをインスタンス化し、そのオブジェクトに name## を定義します。 #And
age2 つの属性:
person = Person("Alice", 25)これで、
getattr() 関数を使用してオブジェクトの属性値を取得できます。たとえば、
person オブジェクトの
name 属性値を取得できます。
name = getattr(person, "name") print(name) # 输出:Alice同様に、
person の も取得できます。
オブジェクト age属性値:
age = getattr(person, "age") print(age) # 输出:25関数
getattr() を使用して、オブジェクトに存在しない属性を取得することもできます。デフォルトでは、
getattr() 関数は
None を返します。たとえば、
person オブジェクトの
gender 属性を取得しようとします。
gender = getattr(person, "gender") print(gender) # 输出:None属性が存在しないときにデフォルト値をカスタマイズしたい場合は、次のようにします。
getattr ()関数の 3 番目のパラメータ
default を使用できます。たとえば、
gender 属性をデフォルト値
"Unknown" で定義し、その値を取得しようとします:
gender = getattr(person, "gender", "Unknown") print(gender) # 输出:Unknownさらに、その値を取得します。属性名文字列 オブジェクトの属性値に加えて、
getattr() 関数は、呼び出し可能なオブジェクトを属性名として受け入れることもできます。この呼び出し可能なオブジェクトは、オブジェクト内の属性名を検索します。たとえば、関数
get_age() を定義して、
person オブジェクトの
age 属性値を取得します。
def get_age(obj): return obj.age age = getattr(person, get_age) print(age) # 输出:25呼び出し可能オブジェクトをプロパティ名として使用する場合、呼び出し可能オブジェクトは正しいプロパティ値を返す必要があります。 要約すると、
getattr() 関数は、プログラミングでオブジェクトの属性値を取得するのに役立つ非常に便利な関数です。オブジェクトとプロパティ名を渡すことで
getattr() 関数を使用できます。また、デフォルト値を設定して、呼び出し可能なオブジェクトをプロパティ名として使用することもできます。この記事のサンプル コードが、
getattr() 関数の使用法をより深く理解するのに役立つことを願っています。
以上がPython で getattr() 関数を使用してオブジェクトの属性値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。