读书人

关于python中的_dict_和global声明的关

发布时间: 2012-05-27 05:42:30 作者: rapoo

关于python中的__dict__和global声明的关系
我这里有个例子,搞不清楚怎么回事
class TestCaseBase:
#global a
a = 1
def func_1(self):
a = 1
print a

print TestCaseBase.__dict__
打印出来的内容是:
{'a': 1, '__module__': '__main__', 'func_1': <function func_1 at 0x00E87170>, '__doc__': None}


class TestCaseBase:
global a
a = 1
def func_1(self):
a = 1
print a

print TestCaseBase.__dict__
打印出来的内容却是:
{'__module__': '__main__', 'func_1': <function func_1 at 0x00D86170>, '__doc__': None}

为什么在a被声明成global的时候在类的__dict__属性中没有呢?

[解决办法]

探讨
print TestCaseBase.__dict__

为什么在a被声明成global的时候在类的__dict__属性中没有呢?

[解决办法]
楼上正解。既然是global,那就不在类中了,只是在类中能够使用它而已
[解决办法]
声明global后变量就跑到模块中去了,不局限于这个类

读书人网 >perl python

热点推荐