如何在python的单独文件中使用函数的全局变量?

时间:2013-08-02 21:20:05

标签: python function variables global

我有两个文件random1.py,random2.py

random2.py有

def your():  
    global mine  
    mine = 10

random1.py有

import random2.py

global mine
mine = 4
random.your()
print mine

random1.py打印出4而不是10。

我的最终目标是拥有可以接受已声明的任何可能变量的函数,并在函数运行后使该变量具有新值。我将所有功能都放在一个单独的文件中,但是用于组织。我注意到如果我将它们放在同一个文件中,它就可以了。

我正在尝试从Hoc

复制过程的功能

1 个答案:

答案 0 :(得分:0)

Could you please directly use **random2.mine** instead of declaring it global again, which makes separate copy of mine variable in random1's namespace.

random2.mine = 50
print(random2.mine)


# Another way of modifying attributes of imported module is 
random2.__dict__[mine] = 100
print(random2.mine)

http://docs.python.org/2/tutorial/classes.html#python-scopes-and-namespaces
http://stackoverflow.com/questions/6841853/python-accessing-module-scope-vars