首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

关于python中的_dict_和global声明的关系,该如何处理

2012-05-27 
关于python中的__dict__和global声明的关系我这里有个例子,搞不清楚怎么回事class TestCaseBase:#global a

关于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后变量就跑到模块中去了,不局限于这个类

热点排行