python面向对象通过property实现属性值的修改

class Person(object):

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

    @property
    def name(self):
        return self.__name + "NB"

    @name.setter
    def name(self, newname):
        """
        实现私有属性的变更
        :param newname:
        :return:
        """
        self.__name = newname

    @property
    def age(self):
        return self.__age

    @age.deleter
    def age(self):
        """
        实现属性方法的删除
        :return:
        """
        del self.__age

a = Person("阿三", 10)
print a.name
a.name = "小强"
print a.name
print a.age
del a.age
print a.age #由于上面的age已经删除再打印就会报错

结果如下:

 

posted @ 2018-10-16 20:18  啊行啊  阅读(588)  评论(0编辑  收藏  举报