zoukankan      html  css  js  c++  java
  • python 函数进阶

    1、生成器 generator

    1) 定义 g=(x*x for x in range(10))

       用next() 函数获得generator的下个元素的值 generator保存的是算法与list不同

    2) def fib(max):
        n, a, b = 0, 0, 1
        while n < max:
            yield b
            a, b = b, a + b
            n = n + 1
        return 'done'
    #函数第一次调用next()只会执行到yield,然后再次调用next(),函数从yield后面再次执行到yield...

    3) sen()与next()

    区别:sen()可以传递参数给yield表达式

    NOTE:初始调用时必须先用next()或send(None)

    2、Decorator装饰器    #本质上,decorator就是一个返回函数的高阶函数。

    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318435599930270c0381a3b44db991cd6d858064ac0000

    https://www.zhihu.com/question/26930016?_t_t_t=0.25066554297785925

    3、偏函数 #简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

    import functools
    int2 = functools.partial(int, base=2)
    int2('1000000')

  • 相关阅读:
    模板方法设计模式
    单一职责原则
    开闭原则
    uml
    迭代器模式
    观察者模式
    工厂模式
    代理模式
    idea本地Maven仓库不能下载依赖jar包的解决方案
    selenium 使用教程详解-java版本
  • 原文地址:https://www.cnblogs.com/emma-zhu/p/6777244.html
Copyright © 2011-2022 走看看