关于 return fun 和 return fun() 的区别:
>>>def funx(x):
def funy(y):
return x * y
return funy #return funy返回的是一个对象,可理解为funx是funy的一个对象
>>> funx(7)(8)
56
>>>def funx(x):
def funy(y):
return x * y
return funy() #return funy()返回的是funy的函数返回值,所以此处报错
>>> funx(7)(8)
Traceback(most recent call last):
File"", line 1,in
funx(7)(8)
File"", line 4,in funx
return funy()
TypeError: funy() takes exactly 1 argument (0 given)
>>>def funx(x):
def funy(y):
return x * y
return funy(8)
>>> funx(7)
56