Python如何跨文件调用自定义函数并生成对应运算输出
Python跨文件调用函数实现预期输出方案
现有代码问题点
- 文件A未导入文件B的函数,无法调用B中的计算逻辑
- 文件B的函数仅在内部打印计算值,没有返回结果,无法在A中获取值做格式化输出
- 文件A打印t时缺少
t =前缀,和预期输出格式不符 - 原代码未调用B的逻辑生成x对应的平方结果,也没有按
A =的格式输出最终运算值
修改后的文件B代码
将B文件的函数调整为返回计算结果,不在函数内部直接打印,避免输出格式混乱:
def B(x): # 计算x的平方值并返回 cal_result = x ** 2 return cal_result
修改后的文件A代码
在A中导入B的函数,补全打印格式和函数调用逻辑:
import numpy as np # 导入同目录下B文件的B函数 from B import B t = np.linspace(0, 1, 10) print("t =", [t]) x = -t print("x =", [x]) # 调用B的函数传入x,拿到计算结果 a_result = B(x) print("A =", [a_result])
运行方式
- 将两个修改后的文件放在同一文件夹目录下
- 直接运行A.py文件,即可得到和预期完全一致的输出:
t = [array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444, 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])] x = [array([-0. , -0.11111111, -0.22222222, -0.33333333, -0.44444444, -0.55555556, -0.66666667, -0.77777778, -0.88888889, -1. ])] A = [array([0. , 0.01234568, 0.04938272, 0.11111111, 0.19753086, 0.30864198, 0.44444444, 0.60493827, 0.79012346, 1. ])]
内容的提问来源于stack exchange,提问作者Wiz123
相关产品推荐
相关产品推荐

