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')

  • 相关阅读:
    windows编程学习笔记
    自学JAVA-12:MySQL数据库
    自学JAVA-11:IO流
    自学JAVA-10:集合
    自学JAVA-9:基本类常用方法整理
    自学JAVA-8:异常
    自学JAVA-7:多态
    自学JAVA-6:继承
    自学JAVA-5:修饰符、对象初始化
    自学JAVA-4:方法、对象、类、属性
  • 原文地址:https://www.cnblogs.com/emma-zhu/p/6777244.html
Copyright © 2011-2022 走看看