python程序设计第11课第五章函数
这堂课主要是对各种概念的辨析而且花了很长时间复习上节课内容
*这节课课件上的很多尝试自己构造iterator和iterable例子都涉及了类class的知识,
因为这部分没学所以就不分析了,自己看课件等到时候学完了再回来看
十,可迭代对象 vs. 迭代器 vs.生成器(iterable vs. iterator vs. generator)
• a container 容器
• an iterable 可迭代对象
• an iterator 迭代器
• a generator 生成器
• a generator expression 生成器表达式
• a {list, set, dict} comprehension 列表,集合,列表推导式
这几个概念的辨析要仔细看他上课讲的PPT上的关系图, a generator expression和a generator function虽然语法形式不同,但是它们被调用都会产生generator。generator是特殊的iterator。iterator内部需要实现. _ next _ ()方法。iterable内部必定要有. _ iter() _ 方法返回iterator,右边 {list,set,dict} comprehension总会返回相应的container,container一般都是iterable
1.container
容器是容纳元素的数据结构,并且支持in成员测试。可以询问一个对象是否包含某个元素时,它就是一个容器
例子: >>>1 in [1,2,3] True >>>1 in (1,2,3) True >>>1 in {1,2,3} True >>>'spam' in {1:'spam',2:'ham',3:'eggs'} False >>>1 in {1:'spam',2:'ham',3:'eggs'} True *字典只能判断键,不能判断值 >>>'foo' in 'foobar' True >>>'f' in 'foobar' True *甚至可以判断字符串的子串
2.iterable
大多数容器也是可迭代的。但是还有更多的东西是可迭代的。例如打开的文件等。iterable可以通过iter()返回iterator
*把列表放在for循环里遍历的本质
x=[1,2,3]
for element in x:
…
先把这个列表(the iterable)交给iter()返回列表对应的iterator,for循环帮你调用next()函数(本质上是调用. _ next _ ()方法)
3.iterator
iterator对象在迭代期间生成iterable的值。调用next()或 _ next _ ()于iterator以产生下一个值。迭代结束时抛出StopIteration异常,如果对iterator对象再用iter()函数将返回它自身
4.generator与generator expression,generator function
这节课接下来的内容花了十分钟讲的很水,自己看PPT吧
十一,两个模块(itertools functools)
(只讲了三四分钟,主要还是自己看。不太用得到,只要知道有这东西就行)
番外:
functional Programming(函数式编程,函数型程序设计)
Procedural() vs. Object-Oriented
Procedural Program Design
Object-Oriented Program Design
编辑于2020-4-28 18:03
CS_Lee_ 原创文章 16获赞 0访问量 2296 关注 私信- Python语言程序设计基础(第2版) 课后题 第五章
- Python程序设计5——函数
- 流畅的Python第四章 文本和字节序列 第五章一等函数 第六章使用一等函数实现设计模式
- python 教程 第五章、 函数
- Python程序设计基础 函数与模块习题
- learn python第五章:更多类 (第八节:有用的函数)
- Python程序设计( 四 函数)——4.3 函数的嵌套调用
- [Python学习笔记][第五章Python函数设计与使用]
- [Python学习笔记][第五章Python函数设计与使用]
- Python程序设计学习笔记4--函数和代码复用
- JavaScript高级程序设计学习笔记第五章--引用类型(函数部分)
- python程序设计基础--函数(下)
- Python程序设计( 四 函数)——4.2 4种函数的类型
- 第五章 Python函数你知多少
- C语言程序设计 练习题参考答案 第五章 (1) 函数定义调用
- 笔记:js高级程序设计第五章,函数的引用类型与基本类型
- python 教程 第五章、 函数
- Delphi基本之pascal语法(第五章.函数与过程程序设计)
- 流畅的python第五章一等函数学习记录
- 流程的Python 第五章:一等函数