python - 如何从 python 中的其他文件导入变量?(在定义中)
问题描述
我在 test1.py 文件中有这段代码:
def main():
a = 10
b = 20
c = 30
d = 40
return a,b,c,d
我想在 test2.py 文件中调用这些变量,我想单独使用它们。这是我想要的输出:
Var a = 10
Var b = 20
Var c = 30
Var d = 40
这些变量有不同的用途。我现在要做的是打印 test1.py 文件中的所有变量,我不能一个一个地使用这些变量。test2.py 文件:
from test1 import *
b = main()
def mainn():
print(b)
mainn()
输出是:
(10, 20, 30, 40)
我想单独使用这些变量,我该怎么做?
解决方案
您的函数返回一个元组。
您可以通过其索引从元组中选择所需的值
from test1 import *
b = main()
def mainn():
print(b[1])
mainn()
或通过 for 循环分配变量
from test1 import *
b = main()
list_of_vars = ['a','b','c','d']
for i, v in enumerate(list_of_vars):
list_of_vars[i] = b[i]
print(list_of_vars)
或按照 Sujay 的建议解压元组
a, b, *other = main()
或者如果您的变量数量有限,那么只需
a, d, c, f = main()
推荐阅读
- python - 为什么 urllib.request.urlopen() 有时会起作用?
- python - 如果源 HTML 不包含实际数字,我怎么能 *webscrape*?
- pascal - 浮点运行和不移动
- java - Java 运行时错误:线程“主”java.lang.NullPointerException 中的异常
- python - Ansible - 注册变量缺少迭代
- python - 有什么方法可以使用 PyCharm 的测试套件执行 python 单元测试?
- r - 使用 Caret R 包拟合多个模型(回归训练)
- azure-sql-database - 有没有办法将数据更改事件从 Azure SQL 大规模流式传输到 Azure 事件中心?
- spring-boot - Springboot RestControler 多重产生
- r - 了解 R 中线性模型回归的输出系数