部分内置模块
一、包
1、什么是包
包就是一个含有__ init __.py文件的文件夹
2、如何使用包
调用包只运行打开的是__ init__ .py文件,需将其他模块的文件文件名添加导入到__ init__文件中,才能调用,不改变使用者使用方式,方便设计者管理。
二 、json与pickle模块
1、什么是序列化
序列化就是讲内存中的数据类型转成另一种格式
即:
序列化:字典=》序列化=》其他格式====》存到硬盘
反序列化:硬盘》读取》其他格式==》反序列化=》字典
2、为什么要有序列化
①持久保存程序的运行状态
②数据跨平台交互
3、如何序列化:
json:
优点:这种格式是一种通用格式,所有编程语言都能识别
缺点:不能识别python所有类型
pickle:
优点:能识别所有python类型
缺点:只能识别python
json.dumps:序列化引用
json.loads:反序列化引用
序列化+持久化
json.dump(xx,f)
json.load(f) # 反
三、time与datetime模块
时间分为三种
1、时间戳:通常用于时间差引用方式time.time()
2、格式化字符
time.strftime('%Y-%m-%d %H:%M :%S')
当前时间年月日时分秒
3、结构化时间对象:
time.localtime() 东八区时间
time.gmetime() 标准时间
time.time.localtime() .tm_hour 小时
time.time.localtime() .tm_wday 周
time.time.localtime() .tm_yday 月
时间转换
时间戳---->struct_time------->格式化的字符串
struct_time=time.localtime(123123)
print(struct_time)
print(time.strftime('%Y-%m-%d',struct_time))
格式化的字符串---->struct_time------->时间戳
struct_time=time.strptime('2017-03-11','%Y-%m-%d')
print(struct_time)
print(time.mktime(struct_time))
import datetime
print(datetime.datetime.now())
print(datetime.datetime.fromtimestamp(1231231))
print(datetime.datetime.now() + datetime.timedelta(days=3))
print(datetime.datetime.now() - datetime.timedelta(days=3))
print(datetime.datetime.now() + datetime.timedelta(days=-3))
print(datetime.datetime.now() + datetime.timedelta(days=3,hours=3))
四、random模块
import random
random.random() # 随机取0到1之间的小数
random.randint(1,3) # 随机取1到3之间的整数包含1和3
random.randrang(1,3) # 随机取1到3之间的整数包含1不包含3
random.choice(['1','3','5','7','9']) # 随机取列表中的一个元素
random.sample(['1','3','5','7','9'],2) # 随机取其中2个元素
random.shuffle(1,3) # 随机取1至3之间的小数
itme=[1,3,5,7,9]
random.shuffle(itme)
打乱itme的顺序