[英]Modifying a variable within an imported function
假設我們有兩個文件:
File1.py
X = 4
def f():
print(X)
File2.py
from File1 import f
X = 10
f()
# prints 4
我們如何更改函數f
內部的X
?
最好導出執行此功能的函數:
文件1:
X = 4
def setX(newValue):
global X
X = newValue
def f():
print(X)
文件2
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
您可以將X
作為參數傳遞給f()
並在不傳遞任何值的情況下在函數中設置X
File1.py
def f(X=4):
print(X)
File2.py
from File1 import f
f(10)
# prints 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.