现在的位置: 首页 > 综合 > 正文

Python中的property

2018年08月16日 ⁄ 综合 ⁄ 共 581字 ⁄ 字号 评论关闭
>>> class X:
    def __init__(self):
        self.name = "Me"
    def set_name(self, other):
        self.name = other
    def get_name(self):
        return self.name + "ABCDE"
    dynamicName = property(get_name, set_name)


>>> inst = X()
>>> inst.dynamicName
'MeABCDE'
>>> inst.dynamicName = "You"
>>> inst.dynamicName
'YouABCDE'

在class X中的 `dynamicName `只是一个属性而不是一个方法。

>>> class Y:
    def __init__(self):
        self.name = "Me"
    @property
    def dynamicName(self):
        #This would be the getter function
        return self.name + "ABCDE"
    @dynamicName.setter
    def set_name(self):
        self.name = other


>>> inst = Y()
>>> inst.dynamicName
'MeABCDE'

上面的代码中,dynamicName由@property修饰因此成为了一个属性

>>> type(inst.dynamicName)
<class 'str'>
【上篇】
【下篇】

抱歉!评论已关闭.