Python如何调用其他.py文件并正确使用其返回值?
关于调用Python文件及使用返回值的问题解答
首先直接说:你的示例写法不正确,我会一步步帮你理清问题,再给出正确的实现方式。
问题1:如何调用另一个.py文件并使用其返回值?
要调用另一个.py文件里的函数/方法,核心是正确导入目标模块/类/函数,然后按照规则调用(类方法和普通函数的调用方式不一样),最后接收返回值。
分情况说明:
情况1:目标是普通函数(不带self的函数)
假设你有file1.py,里面是普通函数:
# file1.py def get_system_values(): # 模拟业务逻辑生成返回值 value_1 = 10 value_2 = 20 return value_1, value_2
在file2.py中调用它:
# file2.py # 导入file1里的get_system_values函数 from file1 import get_system_values def to_do(): # 调用函数,直接接收返回的两个值 val1, val2 = get_system_values() # 这里就可以使用返回值了 print(f"获取到的值:{val1}, {val2}") # 测试调用 to_do()
情况2:目标是类方法(带self的方法,像你的示例)
你的示例里system是类方法,这种情况不能直接通过模块调用,必须先实例化对应的类,再调用方法。
修正你的示例:
# file1.py # 先定义包含system方法的类 class SystemHandler: def system(self): # 模拟业务逻辑 value_1 = 50 value_2 = 60 return value_1, value_2
# file2.py # 导入file1里的SystemHandler类 from file1 import SystemHandler class TaskHandler: def to_do(self): # 第一步:实例化SystemHandler类 sys_handler = SystemHandler() # 第二步:调用实例的system方法,接收返回值 result1, result2 = sys_handler.system() # 使用返回值做后续操作 print(f"处理后的值:{result1 * 2}, {result2 * 2}") # 测试 task = TaskHandler() task.to_do()
问题2:如何在另一个文件中使用返回值?
调用函数/方法后,把返回值赋值给变量,就可以在当前文件的任何地方使用这些变量了——比如用于计算、作为其他函数的参数、存储到数据库等。
举个扩展例子:
# file2.py from file1 import get_system_values def calculate_sum(a, b): return a + b def to_do(): val1, val2 = get_system_values() # 把返回值传给其他函数 total = calculate_sum(val1, val2) print(f"两个值的和是:{total}")
你的示例代码问题分析
你写的result = file_location.file1(value_1, value2)有几个问题:
system是类方法,你没有实例化类就直接调用,会报错(因为缺少self参数);- 调用时传入了
value_1, value2,但system方法本身不需要额外参数(它是返回这两个值,不是接收); - 导入和调用的语法有误,应该先导入目标类,再实例化调用。
内容的提问来源于stack exchange,提问作者Plane




