python 返回函数
来源:互联网 发布:知乎 永不瞑目 编辑:程序博客网 时间:2024/05/21 06:17
1 函数可以作为返回值
高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。
我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:
def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax
但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数:
def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum
当我们调用lazy_sum()
时,返回的并不是求和结果,而是求和函数:
>>> f = lazy_sum(1, 3, 5, 7, 9)>>> f<function lazy_sum.<locals>.sum at 0x101c6ed90>
调用函数f
时,才真正计算求和的结果:
>>> f()25
注意:返回函数不要使用任何循环变量,或者后续会发生变化的变量 阅读全文
0 0
- python 函数返回多个值
- python函数返回多个值
- python函数返回值
- python中的返回函数
- python函数返回多个值
- python返回函数
- Python 函数返回值
- python中返回函数
- python中返回函数
- python的返回函数
- Python 返回函数
- python函数返回问题
- python 返回函数
- python 返回函数
- python 函数返回多个值
- python返回函数/函数编程
- Python的函数返回值
- Python进阶之返回函数
- 常用工具类作业(还没学全 只是一部分)
- ubuntu-用xshell无密码连接虚拟机报错
- C++实现一个线程安全且高效单例类。(懒汉与饿汉)
- Java核心技术学习---多线程,锁,同步,条件对象部分应用源码
- 五.SpringBoot集成实例系列-邮件email文章列表
- python 返回函数
- Android -- Activity组件基础
- DPDK 内存管理(一)(内存初始化)
- MySQL5.7杀手级新特性:GTID原理与实战
- JavaScript闭包的例子
- C# dynamic类型序列化和反序列化之Newtonsoft.Json
- Android之IPC
- Struts2数据标签的简单应用
- 模拟post进行url请求