• python functools模块


    functools模块是Python标准模块

    1. 模块简介

      functools: 用于高阶函数, 指那些作用域函数或者返回其它函数的函数, 通常只要是可以被当做函数调用的对象就是这个模块的目标.

    2. 模块方法

      2.1 partial

    # 偏函数, 可以将函数的参数进行固定, 方便使用和调用
    functools.partial(func[,*args][, **keywords])

      函数装饰器, 返回一个新的partial对象. 调用partial对象就和调用被修饰的函数func相同, 只不过调用partial对象时传入的参数个数通常少于调用func时传入的参数的个数. 

      当一个函数func可以接受很多参数, 而某一次使用只需要更改其中的一部分参数, 其他的某些参数都保持不变时, partial对象就可以将这些不变的对象冻结起来, 这样调用partial对象时传入未冻结的参数,partial对象调用func时连同已经被冻结的参数一同传给func函数, 从而简化调用过程.

      如果调用partial对象时提供了更多的参数,那么他们会被添加到args的后面, 如果提供了更多的关键字参数, 那么他们将扩展或者覆写已经冻结的关键字参数.

    import functools
    
    def add(a,b):
        return a + b
    
    add3 = functools.partial(add,3)
    add5 = functools.partial(add,5)
    
    print add3(4)
    
    print add5(10)
    
    
    # 结果
       7
       15

      2.2 wraps

    # 可以将一个函数的基本信息进行重新定义, 在装饰器比较常用, 把装饰器中的inner函数改成被装饰的函数
    functools.wraps(wrapped[, assigned][, updated])

      

  • 相关阅读:
    Netty ChannelOption.SO_BACKLOG配置
    ChannelOption.TCP_NODELAY
    如何使用XStream框架编码UTF8?
    NETTY keeplive 参数,心跳检测
    cnpm 无法加载文件 ENode.jsnodeglobalcnpm.ps1,因为在此系统上禁止运行脚本。
    vue框架值props
    vue重要方法解释
    vue系列之组件间数据共享
    限制微信环境中微信修改h5页面字体大小
    from_data参数放在body里 调用接口
  • 原文地址:https://www.cnblogs.com/dong-/p/10409516.html
Copyright © 2020-2023  润新知