Python偏函数
偏函数
一个带n 个参数,curried 的函数固化第一个参数为固定参数,并返回另一个带n-1 个参数函数对象
>>> from functools import partial
>>> convert=partial(int,base=2)
>>> convert('')
255
#利用已知的函数,固定其中一部分参数,实现新函数
给大家说说Python参数的规定
Python的参数必须按下面的四个顺序排列
1)必须的参数
2)可选的参数
3)过量的位置参数
4)过量的关键字参数
可以参考
http://blog.sina.com.cn/s/blog_4bfd07180100g34k.html
>>> def haha(x,y,z):
m=x+y+z
print m >>> hahap=partial(haha,x=2,y=4)
>>> hahap(5) Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
hahap(5)
TypeError: haha() got multiple values for keyword argument 'x'
#这是说你给x给了多个值,为什么呢,本来你定义 hahap=partial(haha,x=2,y=4)
#给x赋了值但是,你调用时采用必须的参数,你希望给z赋值但实际是给x赋值,但偏函数是固定x的值,所以就矛盾了
>>> hahap=partial(haha,2,4)
>>> hahap(5)
11
Python偏函数的更多相关文章
- python 偏函数
functools.partial可以设置默认参数和关键字参数的默认值 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的 ...
- Python偏函数实例
目标: 1.编写一个gui,生成按钮 2.通过偏函数,生成按钮 3.通过装饰器,实现按钮输出信息功能 1.使用Tkinter,创建一个按钮 代码如下: handetiandeMacBook-Pro:~ ...
- python偏函数的运用
摘要:python的设计核心原则就是简洁——在这种原则的指导下,诞生了lambda表达式和偏函数:二者都让函数调用变得简洁.本文主要为你介绍偏函数的应用. 1.为什么要使用偏函数 如果我们定义了一个函 ...
- python偏函数使用
偏函数依托于python functools模块.
- Python 偏函数用法全方位解析
Python的functools模块中有一种函数叫“偏函数”,自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相见恨晚的感觉. 我们都知道,函数入参可以设置默认值来简化函数 ...
- python偏函数(functool.partail)
functool.partail 方法可以为一个函数生成偏函数 import functools def f(a,b,c,d): print a,b,c,d a='a' b='b' f1=functo ...
- 4.1 python类的特殊成员,偏函数,线程安全,栈,flask上下文
目录 一. Python 类的特殊成员(部分) 二. Python偏函数 1. 描述 2. 实例一: 取余函数 3. 实例二: 求三个数的和 三. 线程安全 1. 实例一: 无线程,消耗时间过长 2. ...
- [Python]闭包的理解和使用
闭包广泛使用在函数式编程语言中,虽然不是很容易理解,但是又不得不理解. 闭包是什么? 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包.闭包可以 ...
- Python 之匿名函数和偏函数
匿名函数与偏函数 匿名函数 Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下: lambda arg1, arg2, … : e ...
随机推荐
- iOS开发Swift篇—(八)函数(2)
iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...
- eclipse 闪退
在eclipse.ini文件中加入 -Dorg.eclipse.swt.browser.DefaultType=mozilla
- 使用实时文件夹显示ContentProvider的数据
所谓实时文件夹(即LiveFolder),是指用于显示ContentProvider提供的数据的桌面组件. ContentProvider用于向外提供数据访问的接口,一个应用程序可通过ContentP ...
- (BFS)uva2554-Snakes & Ladders
题目地址 不知道究竟是我的代码问题,还是oj出了问题(vjudge上看这道题全都是WA,没有AC的)就连直接用书上的代码都WA. 但还是先放出我这不确定正误的代码,大神路过如果有兴趣可以帮忙看一下. ...
- Mytophome Deal
using AnfleCrawler.Common; using System; using System.Collections.Generic; using System.Linq; using ...
- MVC乱码可能的原因
1.数据传输不对,或者根本没有进控制器 2.分部视图建立时一定要选择
- iOS 模拟器上录制Demo视频
在App审核中会让用户上传一段简易的视频,那么如何制作改视频呢? 今天无意中在Cocochina 中看到 说利用QuickTime来制作,而QuickTime是操作系统自带的. 哦 My,God ! ...
- UVa 1626 Brackets sequence (动态规划)
题意:用最少的括号将给定的字符串匹配,输出最优解.可能有空行. 思路:dp. dp[i][j]表示将区间i,j之间的字符串匹配需要的最少括号数,那么 如果区间左边是(或[,表示可以和右边的字符串匹配, ...
- hadoop map-red的执行过程
hadoop的 map-red就是一个并行计算平台,我们在使用这个平台的时候,要做的事情就是提交自己定制的任务(job,主要定制map类,reduce类,combine类等类),然后设置job的各种参 ...
- 传智播客JavaWeb day05-session、url重写
1.session是什么 1.1 session是一种会话技术 ps:还有一种是cookie 2.session的作用 2.1 服务器端会话范围内的数据共享 3.session的生命周期 3.1何时 ...