模块详解

什么是模块?

  常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

  1.使用python编写的代码(.py文件)

  2.已被编译为共享库或DLL的C 或者C++扩展

  3. 包好一组模块的包

  4. 使用C编写并链接到python解释器的内置模块

 

常用模块

collections模块

在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。

1.namedtuple: 生成可以使用名字来访问元素内容的tuple

2.deque: 双端队列,可以快速的从另外一侧追加和推出对象

3.Counter: 计数器,主要用来计数

4.OrderedDict: 有序字典

5.defaultdict: 带有默认值的字典

这个只需了解一下就行了,不用深究

python3.6+版本字典开始变得有序

 

时间模块

推迟运行

  time.sleep()

时间戳

  time.time()

结构化时间

  time.asctime()   如果不传参数,直接返回当前那时间的格式化串

时间戳 --> 结构化时间

  time.gmtime(时间戳)    time.localtime (时间戳)

结构化时间 --> 时间戳

  time.mktime(结构化时间) 

结构化时间 --> 字符串时间

  time.strftime('格式定义','结构化时间')   结构化时间参数若不传,则显示当前时间 

字符串时间 --> 结构化时间

  time.strptime('时间字符串,字符串对应格式')

  time.strptime ('2018-08-08','%Y-%m-%d')

 

索引(Index)属性(Attribute)值(Values)
0tm_year(年)比如2018
1tm_mon(月)1-12
2tm_mday(日)1-31
3tm_hour(时)0-23
4tm_min(分)0-59
5tm_sec(秒)0-60
6tm_wday(weekday)0 - 6(0表示周一)
7tm_yday(一年中的第几天)1-366
8tm_isdst(是否是夏令时)默认为0


时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的

 几种格式之间的转化

 

 计算时间差

 

 random模块

import random

随机数: 在某个范围内取到每一个值的概率是相同的

随机小数

  1. 0-1之内的随机小数  random.random() 这个表示0-1之间的随机小数

  2. 1-5之间的随机小数  random.unifrom(1-5) 

随机整数

  random.randint(1,2) 1-2之间的随机整数 [1-2]范围内随机取

  random.randrange(1,2) 不包含2在内的随机整数

  random.randrange(1,10,2) 1-10 之间随机取奇数 

随机抽取

  l = [1,2,3,'aaa',('wahaha','qqxing ')]

  random.choice(l)   choice 随机抽取一个值

  random.sample(1,10) 随机抽取多个值

打乱顺序

  lst = [1,2,3,'aaa',('wahaha','qqxing ')]

  random.shuffle(lst)

  print(lst)   在原列表的基础上做乱序; 只能操作列表

  

序列化模块

什么叫做序列化 ----- 将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化

序列化的目的

1. 以某种存储形式使自定义对象持久化

2. 将对象从一个地方传递到另一个地方

3. 使程序更具维护性

 

json

json.dumps ()

dic = {'k1':'v1','k2':'v2','k3':'v3'}

str_dic = json.dumps(dic)

 序列化: 将一个字典转换成一个字符串

print(type(str_dic),str_dic)

 json转换完成的字符串类型的字典中的字符串是由" " (双引号)表示

 

 

 json.loads()

dic = {'k1':'v1','k2':'v2','k3':'v3'}

dic2 = json.loads(str_dic)

print(dic2)

反序列化: 将一个字符串格式的字典转化成一个字典

用json的loads功能处理的字符串类型的字典中的字符串必须由""表示

 

# f = open('json_file','w')
# dic = {'k1':'v1','k2':'v2','k3':'v3'}
# json.dump(dic,f)
# f.close()
'''dump 方法接收一个文件句柄,直接将字典转换成json字符串写入文件'''

 

# f = open('json_file')
# dic2 = json.load(f)
# f.close()
# print(dic2)
'''load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回'''

 

 

转载于:https://www.cnblogs.com/ALADL/p/9445054.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值