偏函数

t = int(‘123445‘)
print(t)
t = int(‘123‘, 4)
print(t)
#23

t = int(‘123‘, base = 8)
print(t)
#83

t = int(‘12‘, 16)
print(t)
#18

def int2(x, base = 8):
    return int(x, base)
t = int2(‘12‘)
print(t)

import functools
int2 = functools.partial(int, base = 2) #这里固定了int的参数base
t = int2(‘1111‘)
print(t)
#15
#上面代码相当于
kw = {‘base‘ : 2}
t = int(‘1000‘, **kw)
print(t)
#8

max2 = functools.partial(max, 10)

t = max2(1, 3, 5, 6) #实际上会把10作为*args的一部分自动加到左边,也就相当于max(10, 1, 3, 5, 6)
print(t)
#10
时间: 2024-08-24 19:16:22

偏函数的相关文章

第21讲: 偏函数(Partially applied function)实战详解

偏函数,也叫部分应用函数,就是调用的时候,只传入函数的部分参数.先举个例子就很容易明白了. object PartialAppliedFunction {   def main(args: Array[String]): Unit = {     val part_sum = sum(1,_:Int,3)     println(part_sum(2))   }      def sum(a:Int,b:Int,c:Int)=a+b+c } 我们定义了一个函数sum,共有3个参数. 我们又定义了

Python 偏函数

int 函数可以把字符串转化为整数,当仅仅传入字符串时,int()函数默认按照十进制转换: print int("12345") #12345 int函数还提供额外的base参数,默认值为10,如果传入base参数,可以做N进制的转换 print int("12345",base=8) #5349 print int("12345",16) #74565 假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到

Scala中的偏函数与部分应用函数

Scala中有PartialFunction的概念, 同时还要一个概念叫Partial Applied Function. 前者译作偏函数, 后者译作"偏应用函数"或"部分应用函数", 一字之差, 差距很大. 首先偏函数是个数学概念, 偏函数不是"函数"的一种, 而是一个跟函数平行的概念. Scala可以通过模式匹配来定义偏函数, 下面这两种方式定义的函数, 都可以认为是偏函数, 因为他们都只对其定义域Int的部分值做了处理. 那么像p1哪有定义

Python学习笔记 : 偏函数

偏函数 首先简单说functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单 //我的理解,就好比c++中对某个带参数的函数进行二次封装,让他满足我的实际需求,调用更简洁 例子: #假设对int(x, base = 10),进行二次封装 #通常做法 def to_int2(x): return int(x, base = 2) print(to_int2('101')) #偏函数 做法 import functools

Scala 深入浅出实战经典 第67讲:Scala并发编程匿名Actor、消息传递、偏函数解析

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/LwsfuGIsWEk/优酷:http://v.youku.com/v_show/id_

python函数式编程——偏函数

今天讲解的内容是偏函数,偏函数是从Python2.5引入的一个概念,通过functools模块被用户调用. 偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为为partial()函数后续的参数,除非使用关键字参数. 通过语言描述可能无法理解偏函数是怎么使用的,那么就举一个常见的例子来说明.在这个例子里,我们实现了一个取余函数,对于整数100,取得对于不同数m的100%m的余数. >>> from functools import partial &g

python偏函数

python中functools.partial模块,可以用来定义偏函数,如: def func(x, y): return x+y result = func(2,10) print(result) 运行结果: 12 可以将带默认值的函数,使用functools.partial进行封装,封装后的函数叫做偏函数 def func(x, y, z): return x-y-z func2 = functools.partial(func, 5) result = func2(2,1) print(

scala并发编程原生线程Actor、Case Class下的消息传递和偏函数实战

参考代码: import scala.actors._ case class Person(name:String,age:Int) class HelloActor extends Actor{ def act(){ while(true){ receive{ case Person(name,age)=>{ //偏函数 println("Name: "+ name + ":" +"Age:" +age) sender ! "E

python中偏函数

当一个函数有很多参数时,调用者就需要提供多个参数.如果减少参数个数,就可以简化调用者的负担. 比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345') 12345 但int()函数还提供额外的base参数,默认值为10表示十进制.如果传入base参数,就可以做 N 进制的转换: >>> int('12345', base=8) 5349 >>> int('12345', 16) 7

Python 函数式编程--偏函数

1.1   偏函数 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度. >>> import functools >>> int('123', base = 8)    --转换成8进制 83 >>> int('123', base = 16)   --转换成16