Python: 在另一个文件中的函数中访问变量

Python: access variable in a function in another file

我有两个文件:

lib.py

global var
def test():
    var = "Hello!"
    return

test.py

from lib import *
test()
print(var)

但是尽管将它们放在同一个文件夹中,但当我 运行 test.py 时,我收到以下错误:

Traceback (most recent call last):
  File "C:\Test\test.py", line 5, in <module>
    print(var)
NameError: name 'var' is not defined

如何在另一个文件的函数中访问这个变量?

我推荐以下内容:

lib.py

def test():
    return "Hello!"

test.py

from lib import *
var = test()
print(var)

您需要在使用的范围内将变量声明为全局变量,在本例中是函数 test():

def test():
  global var
  var = "Hello!"

请注意,最后的 return 不是必需的,因为它隐含在函数的末尾。此外,var 是在模块的全局范围内声明的,因此它不会被 from lib import * 自动导入,因为它是在 之后 模块被导入的.

从函数返回 var 可能是跨模块使用的更好解决方案:

def test():
  var = "Hello!"
  return var

var = test()
print(var) # Hello!