ホームページ >バックエンド開発 >Python チュートリアル >Python 記述子の `__get__` メソッドと `__set__` メソッドはどのように機能しますか?
Python では、記述子はオブジェクトがインターセプトできる強力なメカニズムです。属性へのアクセスと変更。機能を理解するために、提供されているコードを詳しく見てみましょう:
class Celsius(object): def __init__(self, value=0.0): self.value = value def __get__(self, instance, owner): return self.value def __set__(self, instance, value): self.value = float(value) class Temperature(object): celsius = Celsius()
Q1: 記述子クラスが必要なのはなぜですか?
A1: 記述子クラスは、属性のアクセスと変更を傍受する背後にあるロジック。このロジックを使用するクラスから分離することで、それを再利用し、属性にアクセスして変更するための一貫したインターフェイスを提供できます。
Q2: __get__ のインスタンスと所有者とは何ですか?
A2:
Q3: どうすればよいですかこの例を呼び出して使用しますか?
A3: 次のように摂氏属性にアクセスして変更できます:
temp = Temperature() temp.celsius # calls `celsius.__get__` and returns the current Celsius value temp.celsius = 25.0 # calls `celsius.__set__` to update the Celsius value
注:Temperature.celsius に直接アクセスしようとすると、インスタンスなしになります。
以上がPython 記述子の `__get__` メソッドと `__set__` メソッドはどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。