今天主要继续上一节课,将内置函数讲完,后面讲了迭代器、生成器,以及系统内置标准模块的,讲内置标准模块的时候走思了,主要参考老师的blog吧。。。
一、内置函数:
bytearray() 可以直接修改的字节变量格式
chr() 把数字转换成对应的ascii码
compile() 把一个代码文件加载进来,按exec 或 eval的方式解析并执行,多解释器内部使用它导入其它模块
exec() 把字符串形式的执行代码解析并执行
eval() 把字符串形式的表达式的解析并执行
dict() 把一个数据变成字典
dir() 看一个对象的方法 前面有双下划线的私有方法,外部无法调用
filter() 过滤器,将0-10之间的数字大于5的数字取出来
a = rang(10)
b = filter(lambda x:x>5,a)
for I in b:print(i)
format() 字符串格式化
frozenset() 不可变集合 通过dir(frozenset(b)) 看方法,没有修改方法了
global() 把当前所有的全局变量以字典的形式展示出来
hash() 哈希算法,把一个字符串变成数值 在当前程序中哈希值不变
md5 的中间一个过程是使用哈希算法,用于校验文件的一致性
hex() 把一个数字转换成16进制
locals() 打印局部变量
map() 对变量值本身进行操作
reduce() 对列表的数据进行运算
memoryview()
pow(2,8) 取2的8次方
print() help(print) 中注意默认 结尾加空格,默认不刷新。用print实现进度条的显示;sys.stout 标准输出
reversed() 反转
round() 四舍五入 保留后几位小数
slice() 解释器自己用的切片功能
zip() 将两个列表中的数据一一对应,多余的忽略,像拉链一样
__improt__() 用户输入什么就导入什么模块的时候使用
二、迭代器
a = [1,2,3,4,5,6]
a = [ i+1 for I in a] 列表生成式
a = [i+1 if i>5 else I for I in a]
三、生成器
边循环边计算的机制
count = 0
while count < 10000:
print(count)
count+=1
上面讲了列表生成式,而把[]变为()后,就变成了生成器。它不是一个列表,不能使用a[]的方法取数值,而是使用next(a)
yield 保存了函数的中断状态 可以在函数的执行过程中可以做别的
利用生成器实现程序并发的效果(在实际底层还是串行的)实例:
吃包子的程序中学习到的是yield 在中断程序中唤醒的时候可以send一个值的
迭代器
所有的生成器都是迭代器
常用模块
自定义模块
第三方模块
四、内置标准模块
下面主要学习的是内置标准模块(参考blog)s s
import time
import random
import os