zoukankan      html  css  js  c++  java
  • Python学习之路——三元运算符推导式

    三元运算符

    # 生成器:包含yield关键字的函数就是生成器
    def my_generator():
        yield 1
        yield 2
        yield 3
    g_obj = my_generator()
    # my_generator()并不会执行函数体,得到的返回值就是生成器对象
    # 生成器对象就是迭代器对象
    r1 = g_obj.__next__() # 1
    
    for v in g_obj:
        print(v)  # 2 | 3

    推导式

    # 列表推导式:[v for v in iterable]
    dic = {'a': 1, 'b': 2, 'c': 3}  # => [('a', 1), ('b', 2), ('c', 3)]
    res = [(k, v) for k, v in dic.items()]
    
    # 字典推导式:{k: v fro k, v in iterable}
    ls = [('a', 1), ('b', 2), ('c', 3)]  # => {'a': 1, 'b': 2, 'c': 3}
    res = {k: v for k, v in ls}

    递归

    # ***
    # 递归:回溯与递推 
    # 回溯:询问答案的过程
    # 递推:推出答案的过程
    
    # 本质:函数的自我调用
    # 直接:自己调自己
    # 间接:自己调别人,别人最终由调回自己

    匿名函数

    # 匿名函数:没有名字的函数
    # 语法:lambda 参数列表: 一个返回值表达式
    
    # 重点:
    # 1.匿名函数:没有函数名,没有函数体,只有一个返回值
    # 2.关键字:lambda  |  参数列表省略()  |  返回值return关键字也被省略
    
    # 应用场景:
    # 1.匿名函数函数地址可以被一个变量接受,该变量就可以作为函数名来使用,但就违背了匿名初衷
    # 2.结合内置函数来使用: 内置函数某些参数需要一个函数地址,
    #       -- 可以赋值一个有名函数名,也可以直接赋值匿名函数
  • 相关阅读:
    Java设计模式
    一个接口多个实现类的Spring注入方式
    Mybatis 中的<![CDATA[ ]]>浅析
    方法内调另一个方法(事务)的探讨
    insertSql语句中的trim标签的使用
    Mybatis-plus的两种分页插件的配置方式
    Mybatis-plus的使用
    spring的IOC,DI及案例详解
    MySQL多表关联数据同时删除
    @Validated和@Valid区别
  • 原文地址:https://www.cnblogs.com/king-home/p/10679812.html
Copyright © 2011-2022 走看看