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

 

多态

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

posted @ 2018-10-25 21:25  Summerdreamcold  阅读(150)  评论(0编辑  收藏  举报