python 高阶函数(二)
2016-06-07 15:32
771 查看
匿名函数
python中用关键字lambda表示匿名函数,匿名函数只有一条语句,很简洁也没有函数名lambda 参数 : 返回值
lambda可以不传参数,但必须要有返回值
>>> f=lambda x,y:x+y >>> f(1,2) 3
>>> def f(x, y): ... return x+y
以上两个函数是等价的
装饰器
装饰器从字面上来说就是在不改变被装饰对象的前提下修饰被装饰对象,对于已经定义好的的函数,如果想要在不修改原函数的前提下增加原函数的功能,就可以用到装饰器>>> def log(func): ... def wrapper(*args, **kw): ... print('Hello') ... return func(*args, **kw) ... return wrapper ... >>> @log ... def who(): ... print('python') ... >>> who <function log.<locals>.wrapper at 0x10436a1e0> >>> who() Hello python >>>
装饰器实质上是高阶函数,接收一个函数作参数并返回一个新的函数,调用
>>> @log ... def who(): ... print('python') ...其实相当于执行这条语句
>>> who=log(who)
偏函数
偏函数实质上是使用python 自带的functools 模块中的Partial function 来修改已有的带有默认参数的函数的默认参数并返回一个新的函数>>> import functools >>> int2=functools.partial(int, base=2) >>> int2('10111') 23
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法