Python学习day16

迭代器 iterator
迭代器是访问可迭代对象的工具(对象)

迭代器是指用iter(obj)函数返回的对象
迭代器可以用next(it)函数获取可迭代对象的数据
迭代器相关函数
iter(iterable)从可迭代对象中返回一个迭代器,
iterable 必须是一个能提供一个迭代器的对象
next(iterator) 从迭代器iterator中获取下一个记录,如果无法获取下一条记录,则触发 stopiteration异常通知
说明:
迭代对象只能往前取值,不能后退

生成器 Generator
生成器是能够动态提供数据的对象,生成器对象也是可迭代对象
生成器有两种
生成器函数
生成器表达式
生成器函数定义:
含有yield语句的函数是生成器函数,此函数被调用将返回一个生成器对象
注:yield翻译为(产生或生成)
yield语句
语法:
yield表达式
说明:
yield用于def函数中,目的是将此函数作为生成器函数使用
yield用来生成数据,供迭代器的next(it)函数使用
生成器函数说明:
生成器函数的调用将返回 一个生成器对象,生成器对象是可迭代对象
生成器函数调用return会触发一个StopIteration异常
生成器表达式:
语法:
(表达式 for 变量 in 可迭代对象 if 真值表达式)
说明:
if子句可以省略
作用:
用推导式的形式生成一个新的生成器

迭代工具函数:
作用:
生成一个个性化的可迭代对象
函数名
zip(iter1, iter2, iter3,…………)
返回一个zip对象,此对象用于生成一个元组,此元组中的元素有iter1, iter2可迭代对象中的元组构成(元组个数由最小的可迭代对象决定)

enumerate (iterable, start=0)
生成带索引的枚举对象,返回的迭代类型为索引-值对(index-value)对,默认索引从0开始,也可用start指定

字节串 bytes(也叫字节序列)
作用:
存储以字节为单位的数据
说明:
字节串是不可变的字节序列
字节是0-255的整数
创建空字节串的字面值

创建非空字符串的字面值





bytes 与 str的区别:
bytes 存储字节(0-255)
str存储Unicode 字符(0-65535或更大)
str 与 bytes转换
编码(encode)
str ---------> bytes
b = s.encode(encoding = 'utf-8')
解码(decode)
bytes--------->str
s = b.decode(encoding='utf - 8')
字节数组 bytearray
可变的字节序列
创建函数 bytearry
bytearray() 创建字节数组
bytearray(可迭代对象) 同bytes(可迭代对象)
bytearray(整数n)
bytearray(字符串, encoding=‘utf - 8’)
运算操作:
+ += * *=
比较运算 > >= < <= == ! =
in / not in
索引 index / 切片 slice
(字节数组值支持索引和切片赋值,规则同列表的索引和切片赋值规则)






扫描二维码关注公众号,回复: 2553069 查看本文章






猜你喜欢

转载自blog.csdn.net/sinat_42311311/article/details/80993151