我想在外部文件中编写函数,因为它对于版本编辑更方便,并使用全局变量。
显然,唯一的方法是使用some_file中的import some_function(对吗?)。是否仍然可以通过这种方式使用全局变量?那是变量在主文件中声明并且可以在外部文件中直接访问?我还尝试避免在参数中传递它们,因为这会使代码变得复杂。我在考虑一些“包含”指令,但不确定在Python中是否存在。
所以主文件中的代码将是这样:
from test import test
x=1
test()
,在文件test.py中将是这样:
def test():
global x
print(x)
也许这只是拥有合适的编辑器的问题……有人对MacOS有要求吗?
答案 0 :(得分:0)
python的import
与其他语言的include
相当,尤其是from some_file import *
的形式,它导入了所有名称空间,包括函数中的类,类和所有全局变量。该模块或软件包。
编辑:但是,如果您要执行注释中要求的操作,仍然可以使用导入的变量来完成。例如,考虑两个文件main.py
和imported.py
。
imported.py
可能看起来像这样:
some_global_var = 1
other_var = 2
def add():
return some_global_var + other_var
由于imported.py
具有使用全局变量(而不是参数)的函数,因此没有理由一旦导入便无法更改这些变量。为此,main.py
如下所示:
import imported
print(imported.add()) # 3 - because we didn't change anything yet
imported.some_global_var = 10
imported.other_var = 20
print(imported.add()) # 30 - because we redefined the imported variables that our imported function uses