|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第一个问题
:lazy_sum(#参数)是什么呢,能理解lazy_sum(#参数)()是在调用这个函数
>>> def lazy_sum(*args):
def sum():
x=0
for n in args:
x=x+n
return x
return sum()
>>> lazy_sum(1,2,3,4)
10
>>> def lazy_sum(*args):
def sum():
x=0
for n in args:
x=x+n
return x
return sum
>>> lazy_sum(1,2,3,4)
<function lazy_sum.<locals>.sum at 0x00000215FEB955E0>
发现一个前者是调用了return,后者是指向一个地址
第一个问题
:后面尝试调用lazy_sum的实例时会有这个报错是为什么呢
>>> def lazy_sum(*args):
def sum():
x=0
for n in args:
x=x+n
return x
return sum()
>>>
>>> f=lazy_sum(1,2,3,4)
>>> f()
Traceback (most recent call last):
File "<pyshell#103>", line 1, in <module>
f()
TypeError: 'int' object is not callable
因为 f = 10,10 不是一个函数地址,f() 会报错,就这么简单。
|
|