字典时间日期
学习完本篇,你将会深入掌握
- 字典操作。
1.如何新建一个字典
2.如何正序以及反序访问字典
3.如何更新字典元素
4.如何删除字典
- 日期时间操作
1.如何打印一个2021-9-20 17:06:20 (参考当前时间)
字典操作
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
- 键必须是唯一的,但值则不必。
| dict1 = { 'abc': 456 } |
| dict2 = { 'abc': 123, 98.6: 37 } |
| |
- 字典中值的访问也很简单,把相应的键放入的方括弧中即可访问。
| |
| dict 1 = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’} |
| print "dict1[‘voltage ']: ", dict1[' voltage '] |
| print "dict1[‘current ']: ", dict1[' current '] |
| print "dict1[‘resistance ']: ", dict1[' resistance '] |
| |
| |
| dict 1 = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’} |
| print “dict 1 :”, dict 1 |
| dict1[‘voltage’] = ’36.4’ |
| print “dict 1 :”, dict 1 |
| |
| dict1 = {‘voltage’: ’35.5v’,’ current’:’2A’,’ resistance’:’12 Ω’} |
| print “dict1 :”, dict1 |
| del dict1 [voltage] |
| print “dict1 :”, dict1 |
| dict1.clear() |
| |
- 除了上述几种方法外,列表还可以进行拼接,迭代,重复,以及其他相关操作
Python表达式 |
结果 |
描述 |
len({‘key1’,’1’,’key2’,2}) |
2 |
获取列表的长度,及键的总数 |
str({‘key1’,’1’,’key2’,2}) |
|
将值转化为转化为可适人读的字符串,从可打印的字符串表示 |
函数 |
描述 |
Dirt.get(key) |
返回字典中key所对应的值,不存在就返回None |
dict.items() |
从字典遍历可遍历的(键,值)的元组数组 |
dict.keys() |
返回列表,列表由字典中所有的键值组成 |
dict.has_key(key) |
判断字典中存不存在键,存在返回True,不存在返回False |
时间和日期操作
- Python提供一个time和calender模块,时间间隔是以秒为单位的浮点小数。每个时间戳都以1970年1月1日午夜进过的时间来表示。
| |
| import time ; |
| ticks = time.time() |
| print “time:%f” %ticks |
时间元组
- Python很多元组组装起来的9组数字处理时间 ,其中struct_time元组就按照这个处理
序号 |
属性 |
字段 |
值 |
0 |
tm_year |
4个数年 |
2008 |
1 |
tm_mon |
月 |
1到12 |
2 |
tm_mday |
日 |
1到31 |
3 |
tm_hour |
小时 |
0到23 |
4 |
tm_min |
分钟 |
0到59 |
5 |
tm_sec |
秒 |
0到61(60到61是闰秒) |
6 |
tm_wday |
一周的第几天 |
0到6(0是周一) |
7 |
tm_yday |
一年的第几天 |
1到366(儒略历) |
8 |
tm_isdst |
夏令时 |
-1,0,1,-1是决定是否为夏令时的旗帜 |
获取当前时间
- 从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数
| |
| |
| |
| import time |
| localtime = time.localtime(time.time()) |
| print "本地时间为 :", localtime |
获取格式化时间
- 根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime():
| #!/usr/bin/python |
| # -*- coding: UTF-8 -*- |
| import time |
| localtime = time.asctime( time.localtime(time.time()) ) |
| print "本地时间为 :", localtime |
| |
| 打印信息: |
| 本地时间为 : Thu Apr 7 10:05:21 2016 |
格式化日期
| * 使用 time 模块的 strftime 方法来格式化日期 time.strftime(format[, t]) |
| |
| |
| import time |
| |
| print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) |
| |
| |
| print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) |
| |
| |
| a = "Sat Mar 28 22:24:24 2016" |
| print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")) |
打印结果
| 2016-04-07 10:25:09 |
| Thu Apr 07 10:25:09 2016 |
| 1459175064.0 |
日期格式符号
表达式 |
解释 |
%y |
两位数的年份表示(00-99) |
%Y |
四位数的年份表示(000-9999) |
%m |
月份(01-12) |
%d |
月内中的一天(0-31) |
%H |
24小时制小时数(0-23) |
%I |
12小时制小时数 |
%M |
分钟数(00-59) |
%S |
秒(00-59) |
获取某月日历
Calender模块有很广泛的方法用来处理年历以及月历
| |
| |
| import calendar |
| Cal = calendar.month(2021,9) 打印结果为: |
| print “以下输出2017年4月份的日历:“ |
| print Cal |
时间模块相关函数
- Time模块包含了以下内置函数,既有时间处理,也有转换时间格式
函数 |
解释 |
Time.asctime([tupletime]) |
接受时间元组并返回一个可读的形式“Thu Apr 06 14:45:34 2017”24个字符 |
time.clock() |
用以浮点数计算的秒数返回当前的CPU时间,用来衡量不同的程序的耗时 |
time.ctime() |
未给参数相当于time.asctime(),返回字符串 |
time.localtime([secs]) |
返回的是当地时间元组 |
time.sleep(sec) |
推迟调用线程的运行,sec指秒 |
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) |
根据fmt的格式把一个时间字符串解析为时间元组。 |
time.time() |
返回当前时间的时间戳(1970纪元后经过的浮点秒数) |
日历模块相关函数
- calendar模块都是日历相关,模块内包含以下内置函数
函数 |
解释 |
Calendar.calendar(year,w=2,l=1,c=6) |
返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。 |
Calendar.isleap(year) |
是润年返回True,否则返回False |
Calendar.leapdays(y1,y2) |
返回y1,y2之间的润年总数 |
Calendar.month(year,month) |
year年返回month月的日历 |
calendar.monthcalendar(year,month) |
返回一个多存嵌套列表,每个子列表装载一个星期的整数。 |
练习题
- 1.修改税后工资计算器程序 每次算完工资后 询问是否继续计算工资 输入 y 或者 n 使之能重复计算工资!
- 2.编写一个某年第一天是星期几的查询器:程序输出:XXXX年一月一日是 星期X
提示:1900年一月一日是星期一
- 3.李白无事街上走遇店加一倍见花喝一斗5遇花和店喝光壶中酒问原来壶中有多少酒?!
- 4.猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
- 5.打印0-50以内所有能被7或8整除的数!
- 6.打印一个4行5列的矩形!
- 7.根据流程图完成银行取钱业务程序!
![图1](https://img2020.cnblogs.com/blog/1181832/202109/1181832-20210920191232740-1062056459.png)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步