Python中如何在函数外部调用函数内变量?代码问题求解
问题解决:Python函数返回值未正确接收导致输出不符合预期
问题原因
- 不可变类型的参数传递特性:Python中整数属于不可变类型,函数参数传递的是变量值的副本,函数内部对
a、b、c的修改不会影响外部的x、y、z。 - 未接收函数返回值:你的
Total函数计算出结果后返回了c,但你没有将这个返回值赋值给z,因此z始终保持初始值0。
修复方案
直接将函数的返回值赋值给z即可,修改后的代码如下:
import sys x=0 y=0 z=0 def Total(a,b,c): a=1 b=2 c=a+b return c # 接收函数返回值,更新z的值 z = Total(x,y,z) print(z) # 输出3
简化优化(可选)
由于函数内部直接重新赋值了a和b,并没有用到传入的参数值,所以可以简化函数,去掉不必要的参数:
import sys z=0 def Total(): a=1 b=2 return a+b z = Total() print(z) # 输出3
内容的提问来源于stack exchange,提问作者Bigboi
相关产品推荐
相关产品推荐

