|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题:
>>> def FunX(x):
def FunY(y):
return x*y
return FunY()
>>> FunX(12)(5)
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
FunX(12)(5)
File "<pyshell#46>", line 4, in FunX
return FunY()
TypeError: FunY() missing 1 required positional argument: 'y'
为什么内嵌函数返回FunY就能正常运行,返回Fun()就报错?
Python小白,已考虑良久,没有理解,求大神指导 0.0
hi
return FunY() 时,实质是调用FunY函数,FunY函数需要参数y,因此报错:缺失参数
return FunY ,返回函数地址,这个没有问题
楼主有可能要问 return FunY(y) 是否ok,这个也是要报错的,因为 参数y的作用域仅仅在 FunY函数内,而 return FunY(y) 处于 FunX(x)作用域内,FunX() 不知道y是什么东东,因此报错
FunX(12)(5) 可以理解为: x = 12 此时返回FunY地址,接着调用FunY函数 FunY(5) return 12*5
>>> def FunX(x):
def FunY(y):
return x*y
return FunY
>>> FunX(12)(5)
|
-
Python代码
|