• day12 Pyhton学习


    一.昨日内容回顾

      1.函数名

       函数名是一个变量名

           

       可以作为集合类的元素

       可以作为参数进行传递

       def  func(fn):

         fn()

       可以作为返回值返回

       def outer():

         def inner():

           xxx

           return inner

      2.闭包

       内层函数对外层函数的变量的访问

        def  outer():

          a = 10

          def inner():

            print(a)

            return  inner

         ret  =  outer()

         xxxxxx

        ret()

        

        作用:

          1.保护变量:   局部变量    自己函数中访问

          2.让一个变量常驻内存

       3.迭代器

        特点:

          1.省内存

          2.惰性机制,不访问__next__()  就没有值

          3.只能向前,不能反复

          在数据中包含了__iter__() 可迭代对象

        如果包含了__next__()  迭代器

        "__iter__" in dir (数据)

        "__next__" in dir (数据)

        from collections import Iterable ,Iterator

        Iterable :可迭代的

        Iterator: 迭代器

        isinstance(对象,类型)

    二.今日主要内容

      迭代器

        __iter__() 获取迭代器

        __next__() 下一个

        

      生成器

        本质就是迭代器

        两种方式写生成器

          1.生成器函数

          2.生成器表达式

      

      生成器函数

        函数内部有yield,yield 返回 -> return

        yield可以把函数分段执行

        生成器函数被调用的时候,返回生成器

        def dunc():

          yield

        g = func() - 得到生成器

      

        生成器的用法和迭代器基本一致

        __next__() 开始执行生成器,执行到yield,直到没有yield,抛出StopIteration

        

        send() 可以给上一个yield传值

        

        1.省内存

        2.惰性机制,不访问__next__() 就没有值

        3.只能向前,不能反复

      各种推导式(简单)

        列表推导式[结果  for循环  if判断]

        字典推导式{key:value for循环  if判断}

        集合推导式 {key for循环  if判断}

      生成器表达式(最难)

        (结果  for循环  if 判断)

        惰性机制,  不访问__next__()  就没有值

        只能向前,不能反复

  • 相关阅读:
    PEM_密钥对生成与读取方法
    RandomStringUtils RandomUtils
    Java高级个人笔记(RandomStringUtils工具类)
    如何让eclipse输出结果的console栏自动换行?
    日志框架logj的使用
    IDEA中Git的更新、提交、还原方法
    AWS核心服务概览
    技术资料的几种读法
    李笑来老师在《把时间当作朋友》曾说过:“所有学习上的成功,都只靠两件事:策略和坚持,而坚持本身就应该是最重要的策略之一
    ubuntu如何修改terminal终端的主机名(修改/etc/hostname文件)
  • 原文地址:https://www.cnblogs.com/pythonz/p/9890939.html
Copyright © 2020-2023  润新知