Python@property装飾器の原理解析
この文章は主にPython@property装飾器の原理解析を紹介しています。ここでは例示コードを通して紹介された非常に詳細で、皆さんの学習や仕事に対して一定の参考学習価値を持っています。必要な友達は参考にしてください。
1.@property装飾器を通して、直接方法で名来にアクセスできます。メソッド名の後に、ペア「()」の括弧を追加する必要はありません。
2.setter装飾器を使って、say方法にsetter方法を追加することができます。
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
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。