oldboy fifteenth day . I love Python. 今天换金星老师讲课, 迭代器,生成器补充,以及,生成器表达式, 内置函数

一,昨日内容回顾:
    可迭代对象: 内部含有__iter__方法的就是可迭代对象., 可迭代对象不能取值,因为内部不含有__next__方法.
    可迭代对象--->迭代器
      obj.__iter__()
      iter(obj)
    迭代器: 内部含有__iter__,__next__方法的对象.
    迭代器的优点:
      1, 节省内存
      2, 惰性机制
      3, 单向, 不可逆
    如何判断 可迭代对象, 迭代器:
      1, dir(obj) 看看__iter__方法是否在.
      2, isinstance(参数1,参数2) 参数1 = 需要被判断的对象, 参数2= 判断对象的类型. Iterable: 是不是迭代对象 Iterator: 是不是迭代器
    生成器: 自己用python代码写的迭代器就是生成器. 生成器的本身就是迭代器.

二, 生成器表达式, 列表推导式(其他导式):
  1,列表表达式:
    循环模式
      [ 变量(加工后的变量) for 变量 in Iterable]
      优点
        1, 节省代码
        2, 装逼神器
      缺点:
        1, 不好排错.
    整体情况:
      1, 凡是用列表推导式构造的列表对象, 用其他方式都可以构建. 非常复杂的列表, 列表推导式,是构建不出来的.
      2, 列表推导式,比较魔性哈哈哈.
    筛选模式:
      [ 变量(加工后的变量) for 变量 in Iterable if 条件]
  2, 生成器表达式: 跟列表表达式的内容是一样的,只不过,把[] 中括号,改成了小括号()


    构建生成器的两种方式:
      1, 生成器函数: yield
      2, 生成器表达式
    为什么要有生成器:
        生成器,是自己用python代码写的,可以用来满足以后工作中的需要.

三, 内置函数: 大概68种: 这些常用的功能, python都给你封装好了, 供你直接使用.
  1, 作用域:
    globals() 全局作用域 ***
    locals() 当前作用域
  2,其他相关:
    1, 字符串类型的执行:
      eval() 执行字符串类型中的代码,并返回结果, 列子: 在字符串里面的数字,也能做计算了. ****
      exec() 执行字符串中的代码,并返回None, 列子: 其实执行的是代码块.
    2,输入输出相关:
      input() 输入
      print():参数: sep : 设置每个元素的连接符; end: 默认是\n 换行; file: 里面要传 文件句柄
    3, 内存相关:
      id() : 获取对象的内存地址
      hash(): 获取一个对象的哈希值
    4, 算了 抄吧晚上

complie

猜你喜欢

转载自www.cnblogs.com/Fushengliangnian/p/9203689.html