python递归函数详解,python时间函数详解

  python递归函数详解,python时间函数详解

  特殊功能便利功能

  Python的functools模块提供了很多有用的函数,其中一个就是部分函数。注意,这里的偏函数不同于数学意义上的偏函数。

  在介绍函数参数的时候,我们说过通过设置参数的默认值,可以降低函数调用的难度。部分功能也可以做到这一点。例子如下:

  int()函数可以将字符串转换成整数。当只传入一个字符串时,默认情况下,int()函数转换为decimal:

  Int(12345)12345但是Int()函数还提供了一个额外的基本参数,默认值为10。如果传入基本参数,可以进行N进制转换:

  Int (12345 ,base=8) 5349 Int (12345 ,16) 74565假设要转换大量的二进制字符串,每次传入int(x,base=2)非常麻烦。所以,我们认为可以定义一个int2()的函数,默认传入base=2。

  Def int 2 (x,base=2): return int (x,base)这样,我们转换二进制就非常方便了:

  int 2( 100000 )64 int 2( 1010101 )85 functools . partial有助于我们创建分部函数。我们不需要自己定义int2(),但是我们可以使用下面的代码直接创建一个新的函数int2:

  import func tools int 2=functools.partial(int,base=2)int 2( 100000 )64 int 2( 1010101 )85所以,简单总结一下func tools . partial的作用就是固定一个函数的一些参数(也就是设置默认值),返回一个新的函数,调用

  请注意,上面的新int2函数只是将基本参数重置为默认值2,但是在调用该函数时也可以传入其他值:

  Int 2 (100000 ,base=10) 100000最后,在创建分部函数时,实际上可以收到3个参数:function object,*args和**kw。传入时:

  Int=functools.partial (Int,base=2)实际上固定了int()函数的关键参数base,即:

  Int2(10010 )相当于:

  Kw={base: 2 }int(10010 ,**kw)当传入:

  Max2=functools.partial(max,10)实际上会自动将10加到左边作为*args的一部分,即:

  Max (5,6,7)相当于

  Args=(10,5,6,7)max(*args)结果是10。

  转载于:https://www.cnblogs.com/mirrorlake/p/7863025.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: