函数返回的问题
def fun1():x=
def fun2():
x*=x
return x
return fun2()
def fun(x):
def fun2(y):
return x*y
return fun2
这两个函数返回怎么一个有()一个没有啊 第一个函数:
def fun1():
x=
def fun2():
x*=x
return x
return fun2()
这里明显 x 是 列表 , 所以 fun2 中 x *= x 也只是将 x 列表中的第一个值平方后赋值回第一个值
而且最后返回 x,所以还是列表
第二个代码:
def fun(x):
def fun2(y):
return x*y
return fun2
x , y 都是传入参数,最终的值需要看你传入参数的是什么
例如你传入的都是 5 ,那么最终结果返回的肯定是 25
假如你一个传入 5 一个 '5' 那么最终结果为 '55555'
Twilight6 发表于 2020-11-15 23:29
第一个函数:
这里明显 x 是 列表 , 所以 fun2 中 x *= x 也只是将 x 列表中的第一个值平方后赋值 ...
这个返回值看懂了,就是第一个函数return fun2(),这为什么有() 伊格利斯 发表于 2020-11-15 23:34
这个返回值看懂了,就是第一个函数return fun2(),这为什么有()
抱歉,误解了你的问题
有带括号的表示返回函数调用的结果,即返回return 设置的值
没有带括号的表示是一个函数体,表示某个函数本身
页:
[1]