1. 高阶函数 接收 函数作为参数,返回函数。

2. 函数闭包

3. 接收一个函数为参数,对其进行包装,然后返回一个包装函数(tip:包装函数中调用并返回参数函数。

#! /usr/env/python
# -*- coding:UTF-8 -*-
from __future__ import print_function def f1(x):
return x*2 def new_fn(f):
def fn(x):
print("call"+f.__name__+'()')
return f(x)
return fn a = new_fn(f1)(2)
print(a)
print("##################")
b = f1(2)
print(b) @new_fn
def f1(x):
return x*2 f1 = new_fn(f1)
f1(5)

函数闭包

函数参数

这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个 dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b=’2′, c=3, a’, 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

python动态参数解释:

* 表示一个任意长度的tuple(元组),可以接受一连串的参数;

** 表示一个dictionary(字典),参数形式是“key=value”。

Decorator

最新文章

  1. pdf在线处理网站
  2. java 深入技术七(类的结构和反射)
  3. Sublime Text的常用插件
  4. 2017 New Year’s Greetings from Sun Yat-sen University
  5. ASP.NET中进行消息处理(MSMQ) 二
  6. ASP.NET MVC 修改视图的默认路径(MVC2,MVC3)
  7. [转载+原创]Emgu CV on C# (二) —— Emgu CV on 灰度化
  8. 钓鱼 贪心 end
  9. AS3性能及Flex-Formatting设置问题
  10. centos 安装mysqldb 记录
  11. Column store index 列数据如何匹配成行数据?
  12. [!] Error installing AFNetworking
  13. HTML5之多媒体
  14. CCNA网络工程师学习进程(10)NAT的配置
  15. hadoop+hive+spark搭建(二)
  16. hdu4044
  17. QTcpSocket 相关知识总结
  18. Linux命令中:rsync和scp之间的区别
  19. sql 索引笔记
  20. 服务注册发现consul之二:在Spring Cloud中使用Consul实现服务的注册和发现

热门文章

  1. 服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)
  2. Linux终端更改提示符
  3. 取消Git代理设置
  4. js浏览器窗口
  5. js日期显示效果
  6. ssh全屏退出的办法
  7. 【POJ 2774】Long Long Message 最长公共子串
  8. 81B
  9. Node.js模块
  10. How to fix the sources list