课程
/后端开发
/Python
/python进阶
去掉延迟函数,最后print f()会出错,但是改为print f就正确,但是加上延迟函数最后若是print f会出错。请问问题在哪,还有延迟函数作用是什么,怎么用?
2019-08-25
源自:python进阶 2-8
正在回答
def calc_prod(lst): def lazy_product(): num = 1 for i in lst: num *= i return num return lazy_product f = calc_prod([1, 2, 3, 4]) print (f())
print f() 表示打印f函数的返回值,print f 是打印f函数这个对象。如果出错了就看报错信息。。。
个人理解:在已有a函数时,若想在a函数上进行改进,并定义新函数,就可将返回值生成一个新函数。在需要使用时再加()进行使用。另外延迟函数还可以用在多值参数需要进行循环的场合。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计