2020.5.5复习笔记

发布于 29 天前  13 次阅读


1.复习内容

2.灵感代办

3.学习内容

  • iter()函数

    • 将可迭代对象,转为迭代器对象
  • hasattr()函数

    • 判断对象中是否包含方法,变量
    • hasattr(判断对象,“方法/属性名”)
  • 可迭代对象(Iterable)

    • 具有__iter__()函数的对象
    • __iter__()返回的要是可迭代的对象
      • yield,或者列表,元组
    • 一般是通过已知的可迭代对象来构建__iter__()返回
    • 一个对象实现了__getitem__()方法可以通过iter()函数转成Iterator,即可以在for循环中使用,但它不是一个可迭代对象(可用isinstance方法检测())
  • 迭代器对象(Iterator)

    • 一个对象实现了__iter__()__next__()方法,那么它就是一个迭代器对象。
    • 迭代器对象可以被for循环遍历,也可以被next()调用
  • 生成器(Generator)

    • 一个生成器既是可迭代的也是迭代器
    • 关键字yield
  • 生成器函数

    • 含有yield的函数,返回值为生成器对象,可以被for和next调用
  • lambda函数

    • 形参没有可以不填
    • 方法体只能有一条语句,且不支持赋值语句。
    • 不能return
  • 高阶函数

    • 作用就是把函数当做变量来使用
    • 不用return返回值

4.扩展延伸知识

  • visual studo code 不提示Emmet

  • Python中有哪些常见的可迭代对象呢?

    1. 集合或序列类型(如listtuplesetdictstr
    2. 文件对象
    3. 在类中定义了__iter__()方法的对象,可以被认为是 Iterable对象,但自定义的可迭代对象要能在for循环中正确使用,就需要保证__iter__()实现必须是正确的(即可以通过内置iter()函数转成Iterator对象。关于Iterator下文还会说明,这里留下一个坑,只是记住iter()函数是能够将一个可迭代对象转成迭代器对象,然后在for中使用)
    4. 在类中实现了如果只实现__getitem__()的对象可以通过iter()函数转化成迭代器但其本身不是可迭代对象。所以当一个对象能够在for循环中运行,但不一定是Iterable对象。

5.知识内容个人梳理

6.今天都复习了之前的什么内容


Ares个人进阶之路