菜单

迭代器生成器、模块和包

2019年5月17日 - Java

推导式:(也正是用for循环)

回顾:

列表推导式:

1 lst = [i for i in range(1,11)]

 

列表推导式

manbetx网页手机登录版 1

image.png

manbetx网页手机登录版,—————》———–》—————
一.迭代器和生成器
1)迭代器
迭代器对象供给协理迭代器协议的靶子,在Python中,扶助迭代器协议正是完毕目的的iter()和next()方法。其中iter()方法重返迭代器对象自己;next()方法再次来到容器的下三个要素,在终极时引发StopIteration格外。
可以从来效果于for循环的目标统称为可迭代对象:Iterable(可迭代对象)。
list、dict、str虽然是Iterable,却不是Iterator。
把list、dict、str等Iterable形成Iterator能够使用iter函数恐怕iter()函数;

manbetx网页手机登录版 2

image.png

2.生成器generator
在Python中,使用生成器能够很方便的帮忙迭代器协议。在 Python 中,使用了
yield
的函数被称之为生成器(generator)。跟一般函数不一致的是,生成器是3个再次回到迭代器的函数,只可以用来迭代操作,更简便点清楚生成器便是二个迭代器。在调用生成器运维的历程中,每便境遇yield
时函数会暂停并保留当前具有的周转消息,再次回到yield的值。并在下一回施行next()方法时从脚下岗位再三再四运转。

manbetx网页手机登录版 3

image.png

manbetx网页手机登录版 4

image.png

生成器:

 

 

yide:(yide二个指标回来3个目标,暂停这些函数,等待下一次next重新激活)

 

 

 

模块、包

manbetx网页手机登录版 5

image.png

迭代器:  (正是一个每种从数据结构中抽出的)

可见靠for循环迭代的对象叫可迭代对象

1 li = [1,2,3,4,5]
2 li2 = iter(li)
3 for i in li2:
4     print(i)
5 print(next(li2)

从可迭代对象生成3个迭代器

迭代器 = iter(可迭代对象)

 

 

模块:(模块正是四个py文件)

同地点导入模块:

import 模块名  (导入模块里具有属性方法)

import 模块名 as 模块新名

from 模块名 import *  (导入模块里存有的品质和章程)

from 模块名 import
指定的属性方法名  (导入模块里钦赐的性质方法名,不导入模块)

 

外边址导入模块:

1 import sys    # 导入路径模块
2 sys.path.insert(0,r'路径')    # 在索引为0的地方添加路径
3  # 查看导入路径
4 for i in sys.path:
5     print(i)

 

 

包:(包正是带有几个模块的文本夹)

导入包无法间接用import,要用from

 

包名

——  __init__.py

——  子模块

——  子模块

——  子模块

——  子……

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图