zoukankan      html  css  js  c++  java
  • 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__()  就没有值

        只能向前,不能反复

  • 相关阅读:
    javascript和jquery模拟select框
    CSS使用菱形◆制作气泡对话框(兼容IE6 IE9)
    给网站添加显示在标签页上的小图标
    mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法
    推荐一个学习的站
    ubuntu 12.04 安装 nginx+php+mysql web服务器
    PHP解决[function.filegetcontents]: failed to open stream: HTTP request failed!
    svn 操作命令
    svn 端口查看
    php函数parse_url()
  • 原文地址:https://www.cnblogs.com/pythonz/p/9890939.html
Copyright © 2011-2022 走看看