property

把一个方法伪装为一个属性
class Foo:

    def __init__(self,name):
        self.__name = name

    @property
    def name(self):
        return self.__name

    @name.setter                #修改属性时使用
    def name(self,newname):
        if type(newname) == str:
            self.__name = newname

    @name.deleter               #属删除性时使用
    def name(self):
        del self.__name

dog = Foo("xiaohei")

#赋值
dog.name = 11

#删除
del dog.name
View Code

相关文章: