• 偏函数(partial function)


    如果一个函数带了一些参数,在大部分使用场景中,某个参数的值是固定的,那我们有两种简化办法:

    1. 参数默认值
      即在原始函数定义的地方,对应参数处设置paramx=default。

      但是有一点不好,如果paramx设置了默认值,这个参数之后的其他参数也要跟着设置默认值。

      整体而言,对原有函数有改动。

    2. 偏函数
      使用functools.partial(original_fuc,param1,param....)在原有函数基础上生成一个偏函数。

      所谓偏函数,就是以原函数为基础,将某个位置上的参数固定住(默认是从第一个参数固定),后续参数重新扩展传递给原函数,对外则是生成一个新函数。

      比如:

      def add(a,b):
          return a+b
      

      这是两数相加的函数,现在我们要用一个函数,输入一个参数,返回这个参数+5的结果。

      参数默认值的方法可以这样写:

      def add(a,b=5):
          return a+b
      

      但原函数本来就是两数相加,即使现在可能一个参数+5的场景用的多,给被加数给个默认值5,也是很突兀的写法。

      我们也可以新写一个函数:

      def add5(a):
          return a+5
      

      这样新创建一个函数,倒也没什么,但是对原有add函数复用不高。

      使用偏函数可以这样写:

      import functools
      add5 = functools.partial(add, b=5)
      
      #test add5
      ret = add5(10)
      print(ret)
      

      通过partial中b=5,将参数b的值固定下来。

  • 相关阅读:
    单例模式和配置admin
    ORM单表查询,跨表查询,分组查询
    进程同步控制 Lock Semaphore Event
    创建进程和多进程 process join p.daemon terminate
    并发编程基础
    远程执行模块和黏包 socketserve hamc模块验证合法性
    网络编程之Socket
    网络基础
    del new item hash 单例模式
    面向对象进阶
  • 原文地址:https://www.cnblogs.com/leipei2352/p/15685807.html
Copyright © 2020-2023  润新知