请教关于全局变量的问题

请教关于全局变量的问题

a.py

[Copy to clipboard] [ - ]
CODE:
def gl():
    print NAME

b.py

[Copy to clipboard] [ - ]
CODE:
from a import *
NAME = "MJ"
gl()

我想在a.py里面的函数里面使用他的父文件的变量,好像不行,这样是可以的..

[Copy to clipboard] [ - ]
CODE:
NAME = "MJ"

def gl():
    print NAME

gl()

我是搞PHP的,PHP使用global声明全局变量,Python加上global好像也没用,请问有什么办法让a.py访问b.py的变量呢?
对于全局性的变量,如果被多个模块使用,可以把这些变量单独组织到一个模块中,然后在不同的模块分别导入。还可以通过参数传递的方式。你的做法好象的确不行。
使用另一个文件中的变量,好像应该可以将它作为模块的形式导入吧,刚刚接触python,手法还很粗浅啊

b.py:

[Copy to clipboard] [ - ]
CODE:
import a

def g1():
    print a.NAME

g1()

a.py:

[Copy to clipboard] [ - ]
CODE:
NAME = "MJ"

对于全局变量,有两种引用方法:

首先都是在非函数区声明全局变量,其次可选择
1.用 global 关键字在函数中引用此全局变量。
2.用 globals() 函数获得全局变量字典,此法适用于全局变量很多的时候

第一种方法举例:

import ....

a, b = 3, 4
c = []

def main():
    global a
    global b
    global c
    print a

if __name__ == '__main__':
    main()