python中的闭包,函数
来源:互联网 发布:p2p网络协议 编辑:程序博客网 时间:2024/05/18 02:23
1.查看一个对象有什么属性方法 : dir(对象) 对象.__name__ :查看对象的名字
对象.__doc__ :查看对象的说明文档
2.闭包可以理解为特殊的函数,定义:我们定义了一个函数,在函数的内部我们又定义一个函数,并且这个函数用到了外部函数的变量,我们将这个函数以及用到的变量称为闭包
闭包的外部函数返回内部函数。
下面 一个简单的闭包例子:
def set_line(a,b):
def line(x):
return a*x+b
return line
line1=set_line(2, 3)
print(line1(2))
print(line1(3))
line2=set_line(3,5)
print(line2(2))
print(line2(3))
结果依次为7,9,11,14
3.闭包,内层函数改变外层函数变量的方法
例如 :def set_coun(num):
# 闭包函数变量空间
def inner():
#局部变量空间 nonlocal 声明了num不是一个局部变量 只在python中有 且在python3中这样用
nonlocal num
num+=1
return num
return inner
set_c=set_coun(10)
print(set_c())
在python2中修改外层函数变量,不存在nonlocal这个关键字
def set_coun(num):
# 闭包函数变量空间
temp=[num]
def inner():
temp[0]+=1
return temp[0]
return inner
set_c=set_coun(10)
print(set_c())
阅读全文
0 0
- python中的闭包,函数
- Python中的函数和包
- python 闭包函数
- Python中的闭包
- python中的闭包
- python中的闭包
- Python中的闭包
- Python中的闭包
- Python中的闭包
- python中的闭包
- python中的闭包
- python中的闭包
- python中的闭包
- python中的闭包
- python中的闭包
- Python中的闭包
- python中的闭包
- python中的闭包
- 悟空遥控——会否成为电视交互领域亿级用户工具?
- BZOJ1086(SCOI2005)[王室联邦]--树分块
- 黑科技涌现 CVPR 2016这是要火的节奏
- Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
- linux下mysql修改root密码
- python中的闭包,函数
- JVM相关概念和异常类型
- 贪心算法--活动安排
- SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
- c/c++:内存泄露和野指针的概念
- 深扒 | 原是“改名”又再次炒作,巴铁的前身和幕后推手
- 细分无人机领域的这些事,你也许想知道
- 无人驾驶、深度学习、人工智能与社会……Mobileye的CTO在CVPR上的演讲还说了些啥?
- 基因编辑大战,只剩互相伤害一条路了吗?