当我使用双下划线时,出现错误AttributeError:'Organization'对象没有属性'__employees'
。以下是代码。
class Organization(object):
__employees=[]
google=Organization()
google.__employees.append('Erik')
Python没有实现私有变量的概念。如果有私有变量,那么会出现错误。如果我移除一个下划线,则代码将不会报错执行。
当我使用双下划线时,出现错误AttributeError:'Organization'对象没有属性'__employees'
。以下是代码。
class Organization(object):
__employees=[]
google=Organization()
google.__employees.append('Erik')
Python没有实现私有变量的概念。如果有私有变量,那么会出现错误。如果我移除一个下划线,则代码将不会报错执行。
你已将其声明为私有变量。
>>> class Organization(object):
... __employees = []
...
>>> google = Organization()
>>> google._Organization__employees.append('Erik')
>>> google._Organization__employees
['Erik']
>>> dir(Organization)
['_Organization__employees', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']