从你的类属性制作__builtin __?

0 python attributes class built-in

>>> import __builtin__
>>> class MyClass:
...     def __init__(self):
...             self.a = 2
...             __builtin__.a = self.a
...
>>> myclass = MyClass()
>>> myclass.a = 4
>>> a = 2
>>> print a
2
>>> print myclass.a
4
Run Code Online (Sandbox Code Playgroud)

我希望amyclass.a拥有相同的价值.他们为什么不呢?

PS.为什么你会这样使用__builtin__这是另一个问题.

Thi*_*ter 6

Python没有引用.分配值例如使用= 重新绑定名称.

如果你想要这样的行为,你需要一个可变对象,例如一个包含一个元素的列表:

>>> import __builtin__
>>> class MyClass:
...     def __init__(self):
...         self.a = [2]
...         __builtin__.a = self.a
...
>>> myclass = MyClass()
>>> myclass.a[0] = 4
>>> a[0] = 2
>>> print a
[2]
>>> print myclass.a
[2]
>>>
Run Code Online (Sandbox Code Playgroud)

但是,重新考虑一下,如果你真的想把这样的东西放进去__builtins__.