类属性为所有实例拥有,实例属性为单个实例拥有
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)