• 生成器和三元表达式


    一、生成器

    1、生成器:
        生成器就是一种自定义的迭代器
    
    2、为何要用生成器:
        为了节省内存
    
    3、如何用生成器:
        函数体内但凡出现yield关键字,调用函数将不会触发函数体代码的运行,而是会返回一个生成器对象,生成器本质就是一个迭代器
    
    4、yield与return:
         相同点:在返回值角度用法一样
         不同点:yield可以返回值多次值,而return只能返回一次
    yield可以暂停函数,然后我们可以用next方法触发函数代码的运行-》协程
    
    示例:
    def func():
        print("11111")
        yield 1
        print("22222")
        yield 2
        print("33333")
        yield 3
        print("4444")
    
    g=func().__iter__()
    print(g)  # 生成器本质就是一个迭代器
    print(next(g))
    print(next(g))
    print(next(g))
    ==============》
    <generator object func at 0x00000284DA750200>
    11111
    1
    22222
    2
    33333
    3
    
    def my_range(start,stop,step=1):
        while start < stop:
            yield start
            start+=step
    for i in my_range(0,10,2):
        print(i)
    =================》
    0
    2
    4
    6
    8
    

    二、三元表达式

    三元表达式:if的一种简易表达
    好处:代码行数减少,可读性高
    
    通常的if格式:
    def max2(x, y):
        if x > y:
            return x
        else:
            return y
    res = max2(11, 22)
    print(res)
    =========》
    22
    
    三元if格式:
    x = 11
    y = 22
    res = x if x > y else y
    print(res)
    res = "ok" if 10 > 3 else "no"
    print(res)
    ============》
    22
    ok
    
  • 相关阅读:
    队列
    生物信息 perl 脚本实战
    Linux 命令速查
    perl 语法速查 | 模块安装
    Falcon Genome Assembly Tool Kit Manual
    Falcon:三代reads比对组装工具箱
    白话经典算法系列
    八大排序算法
    七大查找算法(附C语言代码实现)
    samtools常用命令详解(转)
  • 原文地址:https://www.cnblogs.com/qiukangle/p/14115624.html
Copyright © 2020-2023  润新知