ホームページ  >  記事  >  バックエンド開発  >  Python で getattr() 関数を使用してオブジェクトの属性値を取得する方法

Python で getattr() 関数を使用してオブジェクトの属性値を取得する方法

王林
王林オリジナル
2023-08-22 15:00:141196ブラウズ

Python で getattr() 関数を使用してオブジェクトの属性値を取得する方法

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 サイトの他の関連記事を参照してください。

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