zoukankan      html  css  js  c++  java
  • day57复习模块

    functools模块

    wraps 的作用是将原函数对象的指定属性复制给包装函数对象

    reduce()函数也是Python内置的一个高阶函数。

    reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

    例如,编写一个f函数,接收x和y,返回x和y的和:

    1
    2
    def f(x, y):
        return + y

    调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

    1
    2
    3
    4
    5
    先计算头两个元素:f(13),结果为4
    再把结果和第3个元素计算:f(45),结果为9
    再把结果和第4个元素计算:f(97),结果为16
    再把结果和第5个元素计算:f(169),结果为25
    由于没有更多的元素了,计算结束,返回结果25

    上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。

    reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:

    1
    reduce(f, [13579], 100)

    结果将变为125,因为第一轮计算是:

    计算初始值和第一个元素:f(100, 1),结果为101

    partial

    functools.partial(func, *args, **keywords),函数装饰器,返回一个新的partial对象。调用partial对象和调用被修饰的函数func相同,只不过调用partial对象时传入的参数个数通常要少于调用func时传入的参数个数。当一个函数func可以接收很多参数,而某一次使用只需要更改其中的一部分参数,其他的参数都保持不变时,partial对象就可以将这些不变的对象冻结起来,这样调用partial对象时传入未冻结的参数,partial对象调用func时连同已经被冻结的参数一同传给func函数,从而可以简化调用过程。

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

    partial对象的调用如下,

    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)


    print(random.random())            #0,1;大于0且小于1之间的小数
    print(random.randint(1,3))          #大于等于1且小于等于3之间的整数
    print(random.randrange(1,3))       #大于等于1且小于3之间的整数
    print(random.choice([1,'a',[1,2,3]]))   #从定义的列表中随机选取
    print(random.sample([1,2,3,4,5],3))   #列表中元素任选(3)个数
    print(random.uniform(1,3))          #大于1小于3的小数
    item=[1,3,5,7,9]
    random.shuffle(item)               #打乱item的顺序相当于洗牌

    shutil模块
    压缩
    import shutil
    ret=shutil.make_archive()
    解压
    import tarfile
    t=tarfile.open(目录)

    sys模块
    sys.argv
    sys.path

    json的中间格式为字符串,用t写入文件
    Pickle的中间格式为bytes,用b写入文件

    XML模块
    xml下的元素对应三个特质,tag,attrib,text


     
  • 相关阅读:
    linux服务器MySQL数据从磁盘拷贝以及恢复
    java编程思想第四版第十四章 类型信息习题
    java编程思想第四版第十四章 类型信息总结
    java编程思想第四版第十三章字符串 总结
    java编程思想第四版第十三章字符串 习题
    java编程思想第四版第十一章习题
    java编程思想第四版第十一章总结
    jQuery—自定义HTTP请求
    JavaScript—Json操作
    JavaScript—字符串(String)用法
  • 原文地址:https://www.cnblogs.com/lg04551/p/9140765.html
Copyright © 2011-2022 走看看