property装饰器以及多态

property是一种特殊的属性 访问它时执行一段功能然后返回值

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

    @property
    def name(self):
        return '%s' % self.__name

    @name.setter
    def name(self, new_name):
        if type(new_name) is not str:
            print('必须是字符串')
            return
        self.__name = new_name

    @name.deleter
    def name(self):
        del self.__name


obj = People('xia')
# print(obj.name)

obj.name = 'li'
print(obj.name)

del obj.name
print(obj.__dict__)
View Code

多态

多态是同一种事物的多种形态 可以在不用考虑对象具体类型的前提下直接使用对象下的方法

猜你喜欢

转载自www.cnblogs.com/xiamenghan/p/9853024.html
今日推荐