Python@property装飾器の原理解析


この文章は主にPython@property装飾器の原理解析を紹介しています。ここでは例示コードを通して紹介された非常に詳細で、皆さんの学習や仕事に対して一定の参考学習価値を持っています。必要な友達は参考にしてください。
1.@property装飾器を通して、直接方法で名来にアクセスできます。メソッド名の後に、ペア「()」の括弧を追加する必要はありません。

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
xioabai = Person("xiaobai")
#          say  
print("     :", xiaobai.say)

     : xiaobai
上のプログラムでは、@propertyを使ってsay()方法を修飾しました。これにより、この方法はname属性のgetter方法になりました。
2.setter装飾器を使って、say方法にsetter方法を追加することができます。

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
  @say.setter
  def say(self, value):
    self.__name = value
xiaobai = Person("xiaobai")
xiaobai.say = "xiaohei"
print("       :", xiaobai.say)

       : xiaohei
3.deleter装飾器を使って指定属性を削除し、say方法にdeleterメソッドを追加することができます。

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
  @say.setter
  def say(self, value):
    self.__name = value
  @say.deleter
  def say(self):
    self.__name = "xxx"
xiaobai = Person("xiaobai")
del xiaobai.say
print("       :", xiaobai.say)

       : xxx
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。