繁体   English   中英

为什么这个简单的 Python 脚本不运行?

[英]Why doesn't this simple Python script run?

我正在编写一个大型程序,我需要在函数之间传递数据/变量。 注意:我是一个业余爱好者,而 OOP 超出了我的掌握,所以只是寻找一个非 OOP 的答案!

我正在使用函数来尝试使脚本模块化,并避免使用冗长而凌乱的脚本。 但是该程序使用了一个数据框和许多不同的变量,许多函数都需要访问这些变量。 我不想在每个函数调用中指定每个变量,因此希望能够从单个函数访问全局变量。 def function():在同一个脚本中时,我可以这样做,但是当我在从脚本导入函数时尝试调用全局变量时遇到了问题。 简单的代表:

from test_func import p_func

a = "yes!"

p_func()

从 test_func.py 调用 p_func()

def p_func():
    global a
    print(a)

产生错误:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    p_func()
  File "test_func.py", line 5, in p_func
    print(a)
NameError: name 'a' is not defined

我错过了什么?

您需要将导入行更改为:

from test_func import p_func, a

变量从其他模块导入的方式与函数相同。

那就是说。 正如上面其他人所说,这真的是一个坏主意。 最好将所有变量放入某种单一的数据结构中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM