Python で属性を動的に設定する
Python オブジェクト x と文字列 s があるとします。属性に x.myAttr としてアクセスできるように、プログラムで x の属性 s を設定するにはどうすればよいですか?
これを実現するには、次の構文を持つ setattr() 組み込み関数を利用できます。
setattr(object, name, value)
この特定のシナリオでは、次のように使用します。
setattr(x, attr, 'magic')
これは効果的です。オブジェクト x の属性 attr を値 'magic' に設定します。その結果、x.myAttr.
を通じてこの属性にアクセスできるようになりました。このアプローチは、x.__getattr__() への呼び出しをキャッシュする場合に特に便利であることに注意することが重要です。ただし、このメソッドをオブジェクトの純粋なインスタンスに直接適用することはできないことに注意してください。代わりに、オブジェクトのカスタム サブクラスに適用されるのが一般的です。
以上がPython オブジェクトの属性を動的に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。