我可以在python中外部访问函数内部字典

时间:2011-11-13 22:31:49

标签: python

说我有以下脚本:

file.py:

class A():
  def a(self):
    var={'a':1,'b':2...}

我可以在外部访问var(例如:import file; file.A.a.var['a'])吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

不,你无法访问它。该字典仅在调用方法时创建。

如果您可以修改源代码:

  • 将字典的构造移动到类构造函数或模块级
  • 或从方法
  • 返回对字典的引用

答案 1 :(得分:0)

您无法访问变量,因为它是在初始化A类时创建的 所以你可以使用A的实例访问它(带有自引用,但是你必须将第3行更新为self.var),或者你可以将它声明为静态(如果它应该由A的所有实例共享,那么你可以将其创建为静态变量 更多关于静态变量here