21面向对象5: 类的属性

class Animal(object):   #object 是所有类的基类
 
    #定义类的属性
    count = 0  

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

        #每次初始化一个实例,count+1   
        Animal.count+=1


dog=Animal("dog")
cat=Animal("cat")

#打印类的属性
print(Animal.count)

#这种方法也会打印类的属性,因为py解释器首先会找dog的属性,找不到就找dog的类的属性,虽然可以打印类的属性,但不容易理解,不推荐
print(dog.count)

dog.count=10     #不会影响类中的count ,会给对象新建一个count属性

print("dog count %d" %dog.count)   

print("Animal count %d" % Animal.count)

 

运行结果:
2
2
dog count 10
Animal count 2


 

posted @ 2020-06-11 23:27  abel2020  阅读(108)  评论(0编辑  收藏  举报