1、迭代器
一个对象如果有iter这个魔法方法的叫做迭代对象。
一个对象如果有iter又有next方法的叫做迭代器,迭代器包含迭代对象。
迭代器特点:一个next只能用一次,每次只取一个,只能依次取值,不用管下标,取完之后会抛出异常,迭代完毕。
li=[1,2,3,4,5,6,7,8,9]
a=iter(li)
print(next(a)) # 1
print(next(a)) # 2
print(next(a)) # 3
print(next(a)) # 4
2、生成器
通过yield语句实现生成器,本质上还是个迭代器,通过next()方法获取生成器中的对象,和函数非常类似,支持显式的暂停和恢复,隐私的支持迭代协议。
def func():
yield "hello world1"
yield "hello world2"
yield "hello world3"
a=func()
print(next(a)) # hello world1
print(next(a)) # hello world2
print(next(a)) # hello world3
列表推导式:
li=[i for i in range(100)]
print(li) # 返回从0开始的列表
tu=(i for i in range(100))
print(tu) # 返回一个生成器,取值需要用next
print(next(tu)) # 依次返回值
3、包和包管理
# 安装三方库
# cmd里面执行
pip install 三方库名称
# 从官方服务器上下载三方库(以requests为例)
pip install requests # 这个是普通的安装方式
# 指定镜像源下载三方库 镜像源安装方式,https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
# 指定三方库版本进行下载也可以实现降版本操作,举例如下:
pip install diango==3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 查看当前pip下载的三方库列表
pip list
# 查看三方库安装的地址
pip -V
# 包更新
pip install -U 包名称
# 包卸载
pip uninstall 包名称
# 输出安装包的详细信息
pip freeze
# 显示本地安装包的详细信息
pip show 包名称
# pip自身更新
pip install --upgrade pip
#帮助信息
pip --help
# 把三方库信息导入txt文件中
pip freeze
pip freeze > requirements.txt
# 查看指定包的详细信息(以requests为例)
pip show requests
# 导包
from datetime import datetime # 部分导入
from datetime import * # 导入所有的模块
import datetime as dt # 取别名
import time,datetime # 导入多个包
import sys
# 自定义导包(自定义创建包的时候,会自动带一个__init__.py的文件)
import 自定义包名
4、字典转json格式的字符串用json.dumps(),json格式的字符串转成字典用json.loads()