python 6
2022/3/30 1:26:25
本文主要是介绍python 6,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- collections模块
- 1.namedtuple(具名元组)
- 2.deque(双端队列)
- 3.OrderedDict(有序字典)
- 4.defaultdict(含默认值字典)
- 5.Counter(hash对象计数)
- time模块
- 1.常用方法
- 2.三种用于表示时间的格式(彼此之间可以转换)
- timestamp(时间戳)
- struct_time(结构化时间)
- format time(格式化时间)
- 3.时间类型的转换
- datetime模块
- 1.date
- 2.datetime
- 3.timedelta
- random模块
collections模块
包含了一些特殊的容器,针对Python内置的容器,例如list、dict、set和tuple,提供了另一种选择;
1.namedtuple(具名元组)
from collections import namedtuple '''可以创建包含名称的tuple''' point = namedtuple('坐标',['x','y']) # 调用了namedtuple的元组对象 p1 = point(1,2) p2 = point(10,8) print(p1,p2) # 坐标(x=1, y=2) 坐标(x=10, y=8) print(p1.x) # 1 print(p1.y) # 2 person = namedtuple('人物','name age gender') # 调用了namedtuple的元组对象 p1 = person('jason',18,'male') p2 = person('kevin',28,'female') print(p1,p2) # 人物(name='jason', age=18, gender='male') 人物(name='kevin', age=28, gender='female') print(p1.name,p1.age) # jason 18 """具名元组的使用场景也非常的广泛 比如数学领域、娱乐领域等""" card = namedtuple('扑克牌', ['花色', '点数']) c1 = card('黑桃♠', 'A') c2 = card('黑梅♣', 'K') c3 = card('红心❤', 'A') print(c1, c2, c3) print(c1.点数)
2.deque(双端队列)
from collections import deque '类似于list的容器,可以快速的在队列头部和尾部添加、删除元素' q = deque([1,2,3]) print(q) q.append(444) # 右边添加元素 print(q) q.appendleft(666) # 左边添加元素 print(q) q.pop() # 右边弹出元素 q.popleft() # 左边弹出元素
3.OrderedDict(有序字典)
from collections import OrderedDict 'dict的子类,可以记住元素的添加顺序' from collections import OrderedDict d2 = OrderedDict([('a', 1), ('b', 2), ('c', 3)]) print(d2) # OrderedDict([('a', 1), ('b', 2), ('c', 3)]) d2['x'] = 111 d2['y'] = 222 d2['z'] = 333 print(d2) # OrderedDict([('a', 1), ('b', 2), ('c', 3), ('x', 111), ('y', 222), ('z', 333)]) print(d2.keys()) # odict_keys(['a', 'b', 'c', 'x', 'y', 'z'])
4.defaultdict(含默认值字典)
'dict的子类,可以调用提供默认值的函数' from collections import defaultdict values = [11, 22, 33,44,55,67,77,88,99,90] my_dict = defaultdict(list) # 字典所有的值默认都是列表 for value in values: if value>66: my_dict['k1'].append(value) else: my_dict['k2'].append(value)
5.Counter(hash对象计数)
'dict的子类,计算可hash的对象' from collections import Counter r = Counter(res) print(r) # Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1}) print(r.get('a')) # 可以当成字典使用
time模块
1.常用方法
1.time.sleep(secs) 推迟指定的时间运行,单位为秒 2.time.time() 获取当前时间戳
2.三种用于表示时间的格式(彼此之间可以转换)
timestamp(时间戳)
距离1970年1月1日0时0分0秒至此相差的秒数 time.time()
struct_time(结构化时间)
time.localtime() 属性 值 tm_year(年) 比如2011 tm_mon(月) 1 - 12 tm_mday(日) 1 - 31 tm_hour(时) 0 - 23 tm_min(分) 0 - 59 tm_sec(秒) 0 - 61 tm_wday(weekday) 0 - 6(0表示周日) tm_yday(一年中的第几天) 1 - 366 tm_isdst(是否是夏令时) 默认为-1
format time(格式化时间)
人最容易接收的一种时间格式 2000/1/21 11:11:11 time.strftime() '%Y-%m-%d %H:%M:%S' # 2022-03-29 11:31:30 '%Y-%m-%d %X' # 2022-03-29 11:31:30
格式 | 含义 |
---|---|
%a | 本地(locale)简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化月份名称 |
%B | 本地完整月份名称 |
%c | 本地相应的日期和时间表示 |
%d | 一个月中的第几天(01 - 31) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%I | 第几个小时(12小时制,01 - 12) |
%j | 一年中的第几天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分钟数(00 - 59) |
%p | 本地am或者pm的相应符 |
%S | 秒(01 - 61) |
%U | 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%W | 和%U基本相同,不同的是%W以星期一为一个星期的开始。 |
%x | 本地相应日期 |
%X | 本地相应时间 |
%y | 去掉世纪的年份(00 - 99) |
%Y | 完整的年份 |
%Z | 时区的名字(如果不存在为空字符) |
%% | ‘%’字符 |
3.时间类型的转换
格式化时间 <==> 结构化时间 <==> 时间戳 format time struct_time timestamp # 时间戳<-->结构化时间 gmtime localtime # 结构化时间<-->格式化时间 strftime strptime time.strptime("2017-03-16","%Y-%m-%d") time.strptime("2017/03","%Y/%m") 前后必须一致 ps:UTC时间比我所在的区域时间早八个小时(时区划分)
datetime模块
'datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo。' import datetime
1.date
date.today() # 返回一个表示当前本地日期的date对象;年月日 res = datetime.date.today() print(res.year) # 2022 print(res.month) # 3 print(res.day) # 29 print(res.weekday()) # 1 星期0-6 print(res.isoweekday()) # 2 星期1-7
2.datetime
datetime.today() # 返回一个表示当前本地时间的datetime对象;年月日 时分秒
3.timedelta
'使用timedelta可以很方便的在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算。' print('microseconds:', datetime.timedelta(microseconds=1)) #microseconds: 0:00:00.000001 print('milliseconds:', datetime.timedelta(milliseconds=1)) #milliseconds: 0:00:00.001000 print('seconds :', datetime.timedelta(seconds=1)) #seconds : 0:00:01 print('minutes :', datetime.timedelta(minutes=1)) #minutes : 0:01:00 print('hours :', datetime.timedelta(hours=1)) #hours : 1:00:00 print('days :', datetime.timedelta(days=1)) #days : 1 day, 0:00:00 print('weeks :', datetime.timedelta(weeks=1)) #weeks : 7 days, 0:00:00 """ 针对时间计算的公式 日期对象 = 日期对象 +/- timedelta对象 timedelta对象 = 日期对象 +/- 日期对象 """
random模块
'''随机数模块''' import random print(random.random()) # 随机产生一个0到1之间的小数 print(random.uniform(2, 4)) # 随机产生一个2到4之间的小数 print(random.randint(0, 9)) # 随机产生一个0到9之间的整数(包含0和9) print(random.randint(1, 6)) # 掷骰子 l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] random.shuffle(l) # 随机打乱一个数据集合 洗牌 print(l) ll1 = ['特等奖', '张飞抱回家', '如花', '百万现金大奖', '群内配对'] print(random.choice(ll1)) # 随机抽取一个 抽奖
这篇关于python 6的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享