Python 类属性和实例属性的区别

实例属性是每一个对象公用的,每一个对象特有的;类属性是所有的对象共有的体征

class Dog:
    """
    定义狗类
    """
    skills = []

    def __init__(self, name):
        self.name = name    # 实例属性是每一个对象公用的,每一个对象特有的;类属性是所有的对象共有的体征
        self.skills = []

    def add_skills(self, skill):
        self.skills.append(skill)

    def info(self):
        if len(self.skills) > 0:
            print("{}狗狗,会{}!".format(self.name, '-'.join(self.skills)))
        else:
            print("{}狗狗,什么都不会!".format(self.name))


# 实例化
wangcai = Dog("旺财")
print("--狗狗刚出生--")
wangcai.info()

wangcai.add_skills("汪汪叫")
wangcai.add_skills("打滚")
wangcai.add_skills("啃骨头")
print("\n--狗狗长大了--")
wangcai.info()


taidi = Dog("泰迪")
print("\n--狗狗刚出生--")
taidi.info()

结果:
--狗狗刚出生--
旺财狗狗,什么都不会!

--狗狗长大了--
旺财狗狗,会汪汪叫-打滚-啃骨头!

--狗狗刚出生--
泰迪狗狗,什么都不会!

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

猜你喜欢

转载自www.cnblogs.com/shouhu/p/12741587.html