文字列によるオブジェクト属性へのアクセス
オブジェクト t と、t の属性名を表す文字列 x があるシナリオを考えてみましょう。この属性の値を取得または変更するにはどうすればよいですか?
Python 言語には、この操作に便利なメカニズムが用意されています:
getattr() および setattr() 関数:
Python は、オブジェクト属性に動的にアクセスして変更するための getattr() および setattr() 組み込み関数を提供します。これらの関数は次の構文をとります:
getattr(object, attrname) # Retrieves the attribute value setattr(object, attrname, value) # Sets the attribute value
例:
指定されたコード スニペット内:
class Test: def __init__(self): self.attr1 = 1 self.attr2 = 2 t = Test() x = "attr1"
値を取得するにはx で表される属性には、以下を使用できます。
x = getattr(t, 'attr1')
の値を設定するには、 x から 21 で表される属性:
setattr(t, 'attr1', 21)
このアプローチは、オブジェクト属性にアクセスして変更するための柔軟かつ動的な方法を提供します。特に、動的なデータ構造や属性名を表す文字列を扱う場合に便利です。
以上がPython で文字列を使用してオブジェクト属性にアクセスし、変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。