关于私有属性调用问题
class Person(object):
__count = 0
@classmethod
def how_many(cls):
return cls.__count
def __init__(self,name):
self.name=name
Person.__count+=1
print Person.how_many()
p1 = Person('Bob')
print Person.how_many()
print p1.how_many()
代码如上:
我在最后加了一行 print p1.how_many()
结果依旧可以运行 让我非常费解,不是说使用__count私有属性代替count可以提高安全性让外部不可访问,只能类方法调用么,可是实际情况却是实例p1调用how_many()方法也与print Person.how_many()并无二致,这是为什么,祈盼大神大牛们解惑,不胜感激