我有一个在模块中调用的函数,在函数内部,我正在尝试访问的两个变量被设为全局变量。当我单独在IDLE中运行模块时,我仍然可以在函数结束后访问这些变量,就像预期的那样。但是,当我在已导入该模块的代码中调用该函数时,我无法访问这些变量。
#module to be imported
def globaltest():
global name
global age
name = str(raw_input("What is your name? "))
age = int(raw_input("What is your age? "))
我单独运行它时的输出。
>>> globaltest()
What is your name? tom
What is your age? 16
>>> name
'tom'
>>> age
16
并且导入它的代码。
import name_age
name_age.globaltest()
但是,当我尝试在导入它的代码中访问这些变量时。
What is your name? tom
What is your age? 16
>>> name
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
name
NameError: name 'name' is not defined
>>>
我该如何在导入模块的代码中使变量成为全局变量,或者在函数中访问'name'或'age'变量。