Python闭包
来源:互联网 发布:淘宝双11外围流量大吗 编辑:程序博客网 时间:2024/06/04 00:09
def my_sum(*arg):
print('in my_sum')
return sum(arg)
def my_average(*arg):
return sum(arg)/len(arg)
def dec(func):
def in_dec(*arg):
print('in dec arg',arg)
if len(arg) == 0:
return 0
for val in arg:
if not isinstance(val,int):
return 0
return func(*arg)
return in_dec
my_sum = dec(my_sum) 1
print(my_sum(1,2,3,4,5)) 2
print('in my_sum')
return sum(arg)
def my_average(*arg):
return sum(arg)/len(arg)
def dec(func):
def in_dec(*arg):
print('in dec arg',arg)
if len(arg) == 0:
return 0
for val in arg:
if not isinstance(val,int):
return 0
return func(*arg)
return in_dec
my_sum = dec(my_sum) 1
print(my_sum(1,2,3,4,5)) 2
print(my_sum(1,2,3,4,5,'6'))
分析:有同有异用闭包,把同放在闭包中,把异放在函数中。闭包函数执行过程:1语句执行两步(函数处理没有具体值得应用,为应用铺垫),1)调用dec并func=my_sum ,返回in_dec给my_sum即my_sum=in_dec,执行2完成的调用in_dec后,return使调用1)中func即my_sum。
阅读全文
0 0
- Python中的闭包
- python中的闭包
- python学习~闭包
- python中的闭包
- python闭包详解
- python的闭包
- python 闭包
- python 闭包
- Python中的闭包
- Python中的闭包
- Python中的闭包
- python 闭包
- python中的闭包
- Python 闭包
- python中的闭包
- Python闭包Closure
- python闭包
- python中的闭包
- JavaScript易错点:没有块级作用域
- crontab执行sh脚本Java部分不成功
- 浅谈Java反射与Annotation
- Java邮箱正则表达式
- 生成1~n的排列 生成可重集的排列 下一个排列
- Python闭包
- 【effective Java读书笔记】对于所有对象都通用的方法(一)
- PostgreSQL存储过程循环调用
- 使用阿里云消息服务mns发送短信
- java连接hbase1.2.6
- AFNetworking打印输出服务器返回的错误信息
- 常见软件开发模型简述版
- Oracle 数据库 练习题 T8
- Maven入门2-pom.xml文件与settings.xml文件