Python基础-高级-返回函数
来源:互联网 发布:媒体监测数据 编辑:程序博客网 时间:2024/05/17 22:39
返回函数
带返回结果的函数
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python 返回函数# 求和,返回值def sum(x, y): return x + yprint(sum(1,2))
运行结果
D:\PythonProject>python run.py3
lazy 返回函数
延迟返回结果的函数
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python 返回函数# 懒加载-求和def lazy_sum(x, y): def sum(): return x+y return sum# 调用lazy_sum()时,返回的并不是求和结果,而是求和函数f = lazy_sum(1,2)# 调用函数f时,才真正计算求和print(f())
运行结果
D:\PythonProject>python run.py<function sum at 0x03C38870>3
闭包(Closure)
我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包
上述 每次调用都会返回一个新的函数,即使传入相同的参数
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python 返回函数# 懒加载-求和def lazy_sum(x, y): def sum(): return x+y return sum# 调用lazy_sum()时,返回的并不是求和结果,而是求和函数print(lazy_sum(1,2))f1 = lazy_sum(1,2)print(f1())f2 = lazy_sum(1,2)print(f2())# 每次调用都会返回一个新的函数,即使传入相同的参数# 所以返回是Falseprint(f1 == f2)
结果
D:\PythonProject>python run.py<function sum at 0x04128870>33False
阅读全文
0 0
- Python基础-高级-返回函数
- python基础3之函数高级特性
- python基础----函数作为返回值
- Python学习1——基础、函数、高级特性
- lambda高级进阶--返回函数
- Python自定义函数基础:获取函数单返回值和多返回值
- Python之高级函数
- python 函数高级特性
- python 函数高级特性
- python 高级函数
- python 函数返回多个值
- python函数返回多个值
- python函数返回值
- python中的返回函数
- python函数返回多个值
- python返回函数
- Python 函数返回值
- python中返回函数
- 文件服务器之NFS服务器
- c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明
- 读《用户体验要素》有感
- Spring Cloud# Spring Cloud Stream UnitTest设计模式
- MySQL update (不可带 AND 关键字)
- Python基础-高级-返回函数
- c:forTokens 报错 The method setItems(String) in the type ForTokensTag is not applicable for the argume
- 20171128客户在全志R16平台的问题合集(分色排版)
- linux下交叉编译librtmp
- 引用参数与引用返回值
- TensorRT 加速 资源整理
- 暴力破解数独+舞蹈链算法解数独
- android studio 修改打包包名的正确方式
- 【ng2】Cannot find module 'angular-in-memory-web-api'