zoukankan      html  css  js  c++  java
  • 十三.迭代器

    2019-09-23-23:48:00

    今日所学的内容有:

    一.重要知识点
    1, 函数名的应用,第一类对象
    函数名可以像变量一样进行使用
    1.赋值
    2.作为list元素
    3.作为参数
    4.作为返回值

    2, 闭包
    内部函数访问外部函数的局部变量.
    注意:变量写在全局是不安全的,所以有闭包,闭包可以防止其他程序改变这个变量
    好处:
    1.安全
    2.常驻内存. 提高效率
    3, 迭代器
    可迭代对象(Iterable):内部包含__iter__().
    迭代器(Iterator): 内部含有__iter__() __next__()
    可迭代对象:str, list, tuple, set, dict、range
    迭代器:f
    dir()来查看一个对象,数据类型中包含了哪些东西
    迭代到最后一个元素之后. 再进行迭代就会报错
    isinstence(对象, 类型) 判断xx对象是否是xxx类型的
    迭代器一定是可迭代的
         我们可以使⽤用__closure__来检测函数是否是闭包. 使⽤用函数名.__closure__返回cell就是闭包. 返回None就不是闭包 


    迭代器的特点:
    1.省内存
    2.惰性机制
    3.只能向前.

    二.错误总结
    1.内存地址的概念
    def extendList(val,list=[]):
    list.append(val)
    return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')

    print('list1=%s' % list1)
    print('list2=%s' % list2)
    print('list3=%s' % list3)
    #注意:这里是容易出错在内存地址的指向是否有改变

    最后真的有点不知道怎样写博客好.有点难受.

     

  • 相关阅读:
    判断是否IPv6网络
    Makefile使用库
    Makefile编译
    Makefile编译库
    lua定义一个简单的类
    c++ 注册类到 lua
    redis的安装
    yield return的作用
    使用boost的asio,io_service无法初始化
    apache+php+mysql的配置(转载)
  • 原文地址:https://www.cnblogs.com/hpcz190911/p/11575751.html
Copyright © 2011-2022 走看看