Python基础 8.迭代器 生成器 包 包管理
8.1 列表推导式
8.2 迭代器1.迭代器:生成迭代器的方法: 1,iterator = iter(可迭代对象)
2.迭代器对象本身需要支持以下两种方法,它们一起构成迭代器协议: iterator.__iter__()
3.取值: next(iterator)
可迭代对象 只有iter方法 不能使用next取值 注意:如果迭代器值取完之后,会返回 StopIteration 错误 ? 8.3 生成器:方法 一:列表推导式的 [ ] 改成 ( )
def func(num) :
? b = (x for x in range(10))
? 注意:1.yield一个对象: 返回这个对象
2.yield 表达式只能在函数中使用,在函数体中使用 3.yield 表达式可以使函数成为一个生成器 4.yield 可以返回表达式结果,并且暂定函数执行,直到next激活下一个yield Python使用生成器对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产生结果,从而节省大量的空间,这也是生成器的主要好处 def fib(n):
8.4 if name == ‘main‘:
8.5 导入模块? import test10
在不同目录下,需要使用 sys.path 添加路径 sys.path.append(‘path‘) (不会用请查百度)
? 8.6 包和包管理init.py 用相对路径就不能直接执行这个文件 ? 只能等其他文件来导入才能执行
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |