Python中常用的模块

Posted guyuangang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中常用的模块相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

Python中常用的模块collections、time、random、os、sys、json、re、hashlib、configparse、logging

 

collections

技术图片
 1 from collections import Counter, deque, defaultdict, namedtuple, OrderedDict
 2 
 3 """
 4 collections模块是在内置数据类型(list、tuple、dict、set)的基础上扩展出来的几个额外的
 5 数据类型:Counter、deque、defaultdict、namedtuple和Ordereddict等
 6 1、namedtuple:生成可以使用名字来访问元素内容的tuple
 7 2、deque:双端队列,可以快速的从另外一侧追加和推出对象
 8 3、Counter:计数器,主要用来计数
 9 4、Ordereddict:keys有序的字典
10 5、defaultdict:带有默认值的字典
11 """
12 
13 # 1、namedtuple
14 # 用namedtuple表示一个二维坐标(x,y)
15 print(--------------------namedtuple--------------------)
16 Point = namedtuple(Point, [x, y])
17 p = Point(4, 6)
18 print(p.x)  # 4
19 print(p.y)  # 6
20 
21 # 2、deque
22 # 使用list存储数据时,按索引访问元素时速度是很快的,但是对list进行插入和删除元素的时候就很慢,
23 # 因为list是线性存储的,数据量大的时候,插入和删除操作效率很低。deque就是为了提高队列和栈插入
24 # 和删除效率的模块
25 print(--------------------deque--------------------)
26 list_dq = deque([a, b, c])
27 list_dq.append(x)
28 list_dq.appendleft(y)  # deque的appendleft()和popleft()方法可以高效的实现从表头位置添加和删除元素
29 print(list_dq)  # deque([‘y‘, ‘a‘, ‘b‘, ‘c‘, ‘x‘])
30 
31 # 3、OrderDict
32 # 使用dict创建字典时,字典中的key是无序的,如果要保持dict中key的顺序,可以使用OrderDict
33 print(--------------------OrderDict--------------------)
34 d = dict(a=1, b=2, c=3)
35 print(d.keys())
36 # for k in d:
37 #     print(k,end=‘	‘)
38 od = OrderedDict(a=1, b=2, c=3)
39 print(od.keys())
40 # for k in od:
41 #     print(k,end=‘	‘)
42 
43 # 4、defaultdict
44 # 访问dict中不存在的key时,会报错;而访问defaultdict中不存在的key时,该key会得到一个默认值
45 print(--------------------defaultdict--------------------)
46 d_dict = defaultdict(list)
47 print(d_dict[k1])  # []
48 print(d_dict)  # defaultdict(<class ‘list‘>, {‘k1‘: []})
49 
50 # 5、Counter
51 # Counter模块是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储;
52 # 其中key为元素,value为计数
53 print(--------------------Counter--------------------)
54 c = Counter(adhfkdjhfekdhfkdsfhskdfhk)
55 print(c)  # Counter({‘d‘: 5, ‘h‘: 5, ‘f‘: 5, ‘k‘: 5, ‘s‘: 2, ‘a‘: 1, ‘j‘: 1, ‘e‘: 1})
56 #更多关于Counter的操作http://www.cnblogs.com/Eva-J/articles/7291842.html
collections模块

time

技术图片
import time

# 在Python中表示时间的3中方式
# 1、时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,是一个float类型
time_stamp = time.time()
print(time_stamp)  # 1552803140.7146168

# 2、格式化后的时间字符串(format string):‘2019-3-17-14-14-52‘
"""
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
"""
str_time = time.strftime("%Y-%m-%d-%H:%M")
print(str_time)  # 2019-03-17-14:21

# 3、元组(struct_time):struct_time元组共有9个元素
"""
索引(index)       属性(Attribute)           值(value)
    0             tm_year(年)               如2019
    1             tm_mon(月)                1-12
    2             tm_mday(日)               1-31
    3             tm_hour(时)               0-23
    4             tm_min(分)                0-59
    5             tm_sec(秒)                0-60
    6             tm_wday(weekday)          0-6(0表示星期一)
    7             rm_yday(一年中的第几天)    1-366
    8             tm_isdst(是否是夏令时)     默认为0
"""
#time.localtime()将一个时间戳转换为当前时区的struct_time
struct_time = time.localtime()
print(struct_time)  # time.struct_time(tm_year=2019, tm_mon=3, tm_mday=17,
                    # tm_hour=14, tm_min=55, tm_sec=27, tm_wday=6, tm_yday=76, tm_isdst=0)

#4、注意:时间戳是计算机能认识的时间,时间str是人能认识的时间,而time.localtime()是用来操作时间的
View Code

 

以上是关于Python中常用的模块的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

nodejs常用代码片段

python常用代码

盘点Python常用的模块和包

Python中常用的模块

Python中的模块常用模块——12