python - 在导入的函数中修改变量
问题描述
假设我们有两个文件:
文件1.py
X = 4
def f():
print(X)
文件2.py
from File1 import f
X = 10
f()
# prints 4
我们如何改变X
函数的内部f
?
解决方案
最好导出一个可以完成这项工作的函数:
文件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
推荐阅读
- javascript - 我们如何使用 ScrollView 和 FlatList 使标签视图与 react-native-tab-view 保持粘性?
- vue.js - Docusign - Axios CORS(在 Postman 上工作)
- c - C中使用队列的级别顺序树遍历
- android - onCloseSystemDialogs shrinkResources 问题
- angular - 如何显示关于列的行数据
- jenkins - 如何从 groovy 函数中的 map 运行并行作业?
- python - Python中的后台任务,检查已经发送的数据
- c++ - Qt 将 Unicode 命令行参数检测为问号
- python - 重复抓取数据时,Tweepy 返回相同的推文
- react-native - 如何为反应导航 v5 设置标题选项?