Python类属性与实例属性

类属性为所有实例拥有,实例属性为单个实例拥有

class CLS(object):
    count = 0
    _count = 0
    def __init__(self):
        CLS.count = CLS.count + 1
        self._count = self._count + 1
        
p=CLS() 
print('类属性:%d'%p.count)
print('实例属性:%d'%p._count)

p=CLS() 
print('类属性:%d'%p.count)
print('实例属性:%d'%p._count)

p=CLS()
print('类属性:%d'%p.count)
print('实例属性:%d'%p._count)
类属性:1
实例属性:1
类属性:2
实例属性:1
类属性:3
实例属性:1

当实例属性和类属性重名时,实例属性优先级高

class CLS(object):
    count = 0
    def __init__(self):
        self.count = self.count + 1
        CLS.count = CLS.count + 1
        
p=CLS() 
print('类属性:%d'%p.count)
print('实例属性:%d'%p.count)

p=CLS() 
print('类属性:%d'%p.count)
print('实例属性:%d'%p.count)

p=CLS()
print('类属性:%d'%p.count)
print('实例属性:%d'%p.count)
发布了239 篇原创文章 · 获赞 68 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/weixin_42078760/article/details/104114663