说我们有两个文件:
File1.py
X = 4
def f():
print(X)
File2.py
from File1 import f
X = 10
f()
# prints 4
我们如何在函数X
中更改f
?
答案 0 :(得分:2)
最好导出执行此功能的函数:
文件1:
X = 4
def setX(newValue):
global X
X = newValue
def f():
print(X)
File2
from File1 import f
from File1 import setX
setX(10)
f()
此解决方案导出一个函数来从File1外部设置值;您只需调用它即可修改变量
或更通用的版本:
def set_global(name, value):
globals()[name] = value
文件2:
set_global('X', 10)
f() #prints 10
答案 1 :(得分:0)
您可以将X
作为参数传递给f()
,并在不传递任何值的情况下在函数中设置X
。
File1.py
def f(X=4):
print(X)
File2.py
from File1 import f
f(10)
# prints 10