zoukankan      html  css  js  c++  java
  • python基础之生成器,三元表达式,列表生产式

    生成器

    1.什么是生成器?

             在函数内但凡出现yield关键字,再调用函数就不会执行函数体代码,会返回一个值,该值称为生成器。

             生成器的本质就是迭代器。

    2.为什么要用生成器?

             生成器是一种自定义迭代器的方式

    3.如何使用生成器?

             和迭代器一样,用next(),for循环,到函数中的yield即会停止

    总结yield的功能

             1.提供一种定义迭代器的方式

             2.yield可以暂停函数,并返回值

    yield  VS  return

    相同点:都是在函数内的,都可以有返回值,没有类型的限制,没有个数的限制

    不同点:return只能返回一次值,yield可以返回多次值

    了解:yield用法:

             ①yield + 值            常用

             ②x = yield  函数读到yield就暂停,等待传值,然后赋值给x,传值用g.send(adj)

    三元表达式:

             res = x if x > y else y   条件成立时返回x,不成立时返回y

    列表生产式:

             l = [i**2 for i in range(1,10)]

             names = [‘alex’,’wxx’,’egon’]

             names = [name+’hh’ for name in names if name !=’egon’]

    zip:x=[1,2,3] y = [0,0,0]  

             res = zip(x,y)    res为迭代器

    max: max(x)   x可以是一个可迭代对象

    生成器表达式:

             g = (i for i in rang(10))     

  • 相关阅读:
    js打印的两种方法
    C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
    js获取本月第几周和本年第几周
    [转]优化数据库大幅度提高Oracle的性能
    sass的循环for,while,each
    sass的mixin,extend,placeholder,function
    float,absolute脱离文档流的总结
    React ref的用法
    cloneNode与事件拷贝
    mobx动态添加observable
  • 原文地址:https://www.cnblogs.com/luck-L/p/9177640.html
Copyright © 2011-2022 走看看