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
- 在用户自定义处加上一个设置
"emmet.triggerExpansionOnTab":true
- https://www.cnblogs.com/init-007/p/11335485.html
-
在Python
中有哪些常见的可迭代对象呢?
- 集合或序列类型(如
list
、tuple
、set
、dict
、str
)
- 文件对象
- 在类中定义了
__iter__()
方法的对象,可以被认为是 Iterable
对象,但自定义的可迭代对象要能在for
循环中正确使用,就需要保证__iter__()
实现必须是正确的(即可以通过内置iter()
函数转成Iterator
对象。关于Iterator
下文还会说明,这里留下一个坑,只是记住iter()
函数是能够将一个可迭代对象转成迭代器对象,然后在for
中使用)
- 在类中实现了如果只实现
__getitem__()
的对象可以通过iter()
函数转化成迭代器但其本身不是可迭代对象。所以当一个对象能够在for
循环中运行,但不一定是Iterable
对象。
5.知识内容个人梳理
6.今天都复习了之前的什么内容
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
- 在用户自定义处加上一个设置
"emmet.triggerExpansionOnTab":true
- https://www.cnblogs.com/init-007/p/11335485.html
-
在Python
中有哪些常见的可迭代对象呢?
- 集合或序列类型(如
list
、tuple
、set
、dict
、str
)
- 文件对象
- 在类中定义了
__iter__()
方法的对象,可以被认为是 Iterable
对象,但自定义的可迭代对象要能在for
循环中正确使用,就需要保证__iter__()
实现必须是正确的(即可以通过内置iter()
函数转成Iterator
对象。关于Iterator
下文还会说明,这里留下一个坑,只是记住iter()
函数是能够将一个可迭代对象转成迭代器对象,然后在for
中使用)
- 在类中实现了如果只实现
__getitem__()
的对象可以通过iter()
函数转化成迭代器但其本身不是可迭代对象。所以当一个对象能够在for
循环中运行,但不一定是Iterable
对象。
5.知识内容个人梳理
6.今天都复习了之前的什么内容
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返回值
-
visual studo code 不提示Emmet
- 在用户自定义处加上一个设置
"emmet.triggerExpansionOnTab":true
- https://www.cnblogs.com/init-007/p/11335485.html
- 在用户自定义处加上一个设置
-
在
Python
中有哪些常见的可迭代对象呢?- 集合或序列类型(如
list
、tuple
、set
、dict
、str
) - 文件对象
- 在类中定义了
__iter__()
方法的对象,可以被认为是Iterable
对象,但自定义的可迭代对象要能在for
循环中正确使用,就需要保证__iter__()
实现必须是正确的(即可以通过内置iter()
函数转成Iterator
对象。关于Iterator
下文还会说明,这里留下一个坑,只是记住iter()
函数是能够将一个可迭代对象转成迭代器对象,然后在for
中使用) - 在类中实现了如果只实现
__getitem__()
的对象可以通过iter()
函数转化成迭代器但其本身不是可迭代对象。所以当一个对象能够在for
循环中运行,但不一定是Iterable
对象。
- 集合或序列类型(如
5.知识内容个人梳理
6.今天都复习了之前的什么内容