小编bad*_*ngs的帖子

从导入模块中的函数访问全局变量

我有一个函数,我从模块调用.在函数内,我试图访问的两个变量是全局的.当我在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? "))
Run Code Online (Sandbox Code Playgroud)

我自己运行时的输出.

>>> globaltest()
What is your name? tom
What is your age? 16
>>> name
'tom'
>>> age
16
Run Code Online (Sandbox Code Playgroud)

和导入它的代码.

import name_age

name_age.globaltest()
Run Code Online (Sandbox Code Playgroud)

但是当我运行尝试访问我导入它的代码中的变量时.

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
>>> …
Run Code Online (Sandbox Code Playgroud)

python module function global-variables python-2.7

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

function ×1

global-variables ×1

module ×1

python ×1

python-2.7 ×1