Chinaunix

标题: 全局变量如何在两个模块中传递 [打印本页]

作者: gaoshoupei    时间: 2012-12-04 15:59
标题: 全局变量如何在两个模块中传递
本帖最后由 gaoshoupei 于 2012-12-04 16:02 编辑

testa.py:
a = 0
def testf():
    global a
    a = 4

testb.py:
from testa import *
testf()
print "a: %s" %a

打出来的a是0啊,怎么才能是4?


好像list,dict都可以这样做,但是对象不行
作者: linux_c_py_php    时间: 2012-12-04 20:37
a模块的global是a模块的a, b里调用a的函数只不过是名字空间在b中可见,不代表b将a模块的东西拿过来当作自己的了。

名字是谁的和名字是否可见是两码事.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2