ipython - 如何将结果从一个函数传递到另一个函数
问题描述
您好,请考虑以下部分代码:
'def sum(ab,bc):
cd = ab + bc
return cd
ab = 5
bc = 6
sum(ab,bc)
print(cd)'
当我运行这部分代码时,我得到的结果是:
NameError:名称“cd”未定义
但是 cd 是 Sum 函数的结果不是吗?那么为什么没有定义呢。
其次,如何将 sum 函数的结果传递给另一个函数。例如,假设我还有一个 diff 函数:
def diff (x,y):
ef = x - y
return ef
diff(cd,3)'
当我运行这部分代码时,我也有结果 cd 没有定义。但是 cd 是我之前的 sum 函数的结果,不是吗?
解决方案
cd
,在您的情况下,是一个变量,其范围是函数sum()
,因此它将在函数调用时分配,然后在函数返回时释放。要打印结果,您必须执行以下操作:
def sum(ab,bc):
cd = ab + bc
return cd
ab = 5
bc = 6
res=sum(ab,bc)
print(res)'
如果要“调试”,则必须在函数体“内部”进行打印
def sum(ab,bc):
cd = ab + bc
print cd
return cd
我也会避免使用cd
和其他“保留”字词作为变量名,因为结果可能会损坏。
推荐阅读
- css - 多个父类仅使用 CSS 定位同一个孩子
- c# - 依赖对象 - 使用 Unity C# 进行依赖注入
- sql - ORA-00933: SQL 命令未在表别名上正确结束
- algorithm - 二进制与线性搜索未排序的 N 个元素
- python - 在 python 中使用索引更快地替换字符
- python - 比较两个字符串python列表时计算比较次数
- python - 如何根据多个条件删除列表列表中的某些元素,其中也包括元素的总和
- c - 传递给 gcc 的多个源文件是否被视为单个翻译单元?
- visual-studio - 运行包时是否有人遇到 Visual Studio 2015 Data Tools 崩溃的问题?
- node.js - NodeJS,MongoDB findOne 与参数和日期