python中创建类属性
任务
请给 Person 类添加一个类属性 count,每创建一个实例,count 属性就加 1,这样就可以统计出一共创建了多少个 Person 的实例。
class Person(object):
count = 0
def __init__(self, name):
self.name = name
p1 = Person('Bob')
Person.count = Person.count + 1
print Person.count
p2 = Person('Alice')
Person.count = Person.count + 1
print Person.count
p3 = Person('Tim')
Person.count = Person.count + 1
print Person.count
输出结果 1 2 3
python中类属性和实例属性名字冲突怎么办
任务
请把上节的 Person 类属性 count 改为 __count,再试试能否从实例和类访问该属性。
class Person(object):
__count = 0
def __init__(self, name):
Person.__count = Person.__count + 1
self.name = name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except AttributeError:
print "attributeerror"