zoukankan      html  css  js  c++  java
  • 装饰器day13课堂小结

    迭代器

    迭代器:不是函数,只是一个称呼而已

    python中一切皆对象(数据类型)

    可迭代对象,含有._ _ iter _. _方法的数据类型就叫做可迭代对象,

    除了数字类型,所有数据类型都是可迭代对象。

    使用--iter--之后变成迭代器

    迭代器对象:含有——iter——和——next——方法的对象就是迭代器对象。

    只有文件是迭代器对象

    迭代器使用--iter--依然是迭代器

    fw.--iter--()

    fw.--next--()

    作用:提供了 不依赖索引取值的手段

    for循环原理(for循环本质就是一个while循环,只不过是一个一定可控的while循环)

    三元表达式

    if x > y :
        print(x)
    else:
        print(y)
        
    # 三元表达式
    
    print(x) if x > y else print(y) # 仅作了解
    

    条件走这里 if 条件 else 条件不成立走这里

    列表推导式

    lt = []
    
    for i in range(10):
        lt.append(i)
        
        
    print(lt)
    
    lt = [i for i in range(10)]
    print(lt)
    

    字典生成式

    dic = {}
    
    for i in range(10):
        dic[i] = i
        
        
    print(dic)
    
    dic = {i:i**2 for i in range(10)}# key:value
    print(dic)
    

    两个列表快速生成一个字典

    lt1 = ['a','b','c']
    lt2 = [1,2,3]
    
    res = zip(lt1,lt2)
    
    # for k,v in res
    # print(k,v)
    
    dic = {k:v**2 for k,v in res}
    print(dic)
    

    {'a':1,'b':4,'c':9}

    生成器

    generator 本质是一个迭代器 ---》生成器:本质就是迭代器,生成器就是一个自定义的迭代器

    生成器:含有yield关键字的函数叫做生成器,不是函数

    def g():
        yield 3# 一个yiled想到与一个next;暂停函数
        yield 4
    
        
    g = g() #生成器
    
    for i in g:
        print(i)
        
    

    3
    4

    g()得到一个生成器-》生成器本质是迭代器

    yield的特性

    1. 暂停函数
    2. 通过next取值

    return的特性

    1. 终止函数
    2. 通过调用函数拿到值

    递归

    传递;回归

    递归:函数a内部直接调用函数a本身

    def a():
        x = 1
        print(x)
        a()
        
    
        
    a()
    

    每一次递归,都不会结束函数,并且每一次递归都会开辟内存空间,如果一直开辟内存就炸掉了,所以最多递归1000次

    真正的递归必须得有 退出条件

    count = 0
    def a():
        global count
        count += 1
        print(count)
        if count == 5:
            return
        a()
    
    
    a()
    
  • 相关阅读:
    大战设计模式【13】—— 组合模式
    大战设计模式【12】—— 迭代器模式
    大战设计模式【11】—— 模板方法模式
    大战设计模式【10】—— 外观模式
    linux命令进阶
    ansible普通用户su切换
    Ansible 进阶技巧
    ansible playbook对错误的处理
    ansible示例,离线安装etcd
    (原)centos7安装和使用greenplum4.3.12(详细版)
  • 原文地址:https://www.cnblogs.com/shin09/p/11581308.html
Copyright © 2011-2022 走看看