19课的课后习题fun(var)函数的打印值为什么是1314520
本帖最后由 P-Python 于 2021-3-9 16:02 编辑在19课的习题3中,程序代码如下:
def fun(var):
var=1314
print(var,end='')
var=520
fun(var)
print(var)
没有想明白为什么输出结果是1314520 你确定打印的是 "5201314"? jackz007 发表于 2021-3-9 16:05
你确定打印的是 "5201314"?
打错了,是1314520{:10_266:} def fun(var):
var=1314
print(var,end='')
函数fun(var)的局部变量为var=1314,并且不影响全局变量
无论你传入的参数是什么,都会执行
print(1314,end='')
所以fun(var)
相当于
print(1314,end='')
var = 520
print(1314,end='')
print(var) 本帖最后由 jackz007 于 2021-3-9 16:35 编辑
def fun(var): # var 是函数 fun() 的输入参数,属于局部变量
var=1314 # fun() 的局部变量 var 被赋新值 1314
print(var,end='') # 打印 var 的新值 1314,不换行
var=520 # 定义主函数中的变量 var 的值为 520
fun(var) # 以 var 为输入参数调用函数 fun()
print(var) # 在 1314 后面继续打印出 var 的值 520
调用 fun() 时,对函数输入的参数 var 是单向的,就是说,主函数中的变量 var 可以作为参数进入 fun,而 var 在 fun() 中的修改却不能传回主函数,调用完 fun() 后,主函数中的 var 依然是原来的数值。 逃兵 发表于 2021-3-9 16:22
函数fun(var)的局部变量为var=1314,并且不影响全局变量
无论你传入的参数是什么,都会执行
print(1314 ...
明白了,多谢大佬解惑! jackz007 发表于 2021-3-9 16:30
调用 fun() 时,对函数输入的参数 var 是单向的,就是说,主函数中的变量 var 可以作为参数进入...
明白了,多谢大佬解惑! 这道题的答案应该分2行写,2个返回值分别是1314和520,不是一步返回1314520>>> def fun(var):
var = 1314
print(var,end=' ')
>>> var = 520
>>> fun(var)
1314
>>> print(var)
520
页:
[1]