Python高级语法——常用包

常用模块

  • calendar
  • time
  • datetime
  • timeit
  • os
  • shutil
  • zip
  • math
  • string
  • 上述所有模块使用理论上都应该先导入,string是特例
  • calendar, time, datetime的区别参考中文意思

calendar

  • 跟日历相关的模块
#使用之前先导入
import calendar
#calendar: 获取一年的日历字符串
#参数
# w = 每个日期之间的间隔字符数
# l = 每周所占用的行数
# c = 每个月之间的间隔字符数
#cal2 = calendar.calender(2019, w=2,l=1,c=6)
#print(cal2)
cal1 = calendar.calendar(2019)
print(cal1)

#isleap 判断某一年是否是闰年
print(calendar.isleap(2018)) #输出结果: False

#获取指定年份之间的闰年的个数,包括前面年份,不包括后面年份
print(calendar.leapdays(1999,2019)) #输出结果: 5

#month() 获取某个月的日历字符串
#格式 calendar.month(年,月)
#回值: 月日历的字符串
mcal = calendar.month(2019, 11)
print(mcal)
'''
输出结果:
   November 2019
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
'''

# monthrange 获取一个月的周几开始,以及该月的天数
# calendar.monthrange(年,月)
# 回值: 元组(周几开始,总天数)
# 注意: 周默认0-6 表示周一到周天
w, t = calendar.monthrange(2019,11)
print(w)
print(t)
'''
输出结果:
4
30
'''

# monthcalendar() 返回一个月每天的矩阵列表
# calendar.monthcalendar(年, 月)
# 回值: 二级列表
# 注意: 矩阵中没有的天数用0表示
m = calendar.monthcalendar(2019, 10)
print(type(m))
print(m)
'''
输出结果:
<class 'list'>
[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27], [28, 29, 30, 31, 0, 0, 0]]
'''

#prcal 直接打印日历, print calendar的缩写
calendar.prcal(2019)

#prmonth 直接打印当月日历
#格式: calender.prmonth(年,月)
#返回值: 无
calendar.prmonth(2019, 11)
'''
输出结果:
   November 2019
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
'''
# weekday() 获取周几
# 格式: calendar.weekday(年,月,日)
# 返回值: 周几对应的数字
print(calendar.weekday(2019,11,6)) #输出结果: 2

time 模块 time模块详细信息

时间戳
  • 一个时间表示,根据不同语言,可以是整数或者浮点数
  • 是从1970年1月1日0点0分0秒到现在经历的秒数
  • 如果表示的1970年以前或者太遥远的未来,可能出现异常
  • 32位操作系统能够支持到2038年
UTC时间
  • UTC又称为时间协调时间,以英国格林尼治天文所在地区的时间作为参考时间,也称为世界标准时间.
  • 中国时间是 UTC+8 东八区
夏令时
  • 就是在夏天的时候把标拨快1个小时,督促大家早睡早起,每天变成25个小时,本质没变,还是24小时
时间元祖
  • 一个包含时间内容的普通元祖
0    年            tm_year    2008
1    月            tm_mon	  112
2    日            tm_mday	  131
3    小时          tm_hour	  023
4    分钟          tm_min	  059
5	 秒            tm_sec	  061 (6061 是闰秒)
6   一周的第几日   tm_wday	  06 (0是周一)
7   一年的第几日   tm_yday	  1366(儒略历)
8	夏令时         tm_isdst	  -1, 0, 1, -1是决定是否为夏令时的旗帜
# 需要单独导入:
import time

#时间模块的属性
# timezone: 当前时区和UTC时区相差的秒数,在没有夏令营时的情况下的间隔
print(time.timezone)  # 输出结果: -28800

#time.altzone: 返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。
print(time.altzone)  #输出结果: -32400

#daylight: 测当前是否夏令营状态, 0表示不是
print(time.daylight)  #输出结果: 0

#得到时间戳
print(time.time())  #输出结果: 1573020511.09916

#localtime: 得到当前的时间结构
#可以通过点号操作符得到相应的属性元素的内容
t = time.localtime()
print(t.tm_mday)   #输出结果: 6

#time.asctime
#接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
t = time.localtime()
tt = time.asctime(t)
print(tt)  #输出结果: Wed Nov  6 14:35:27 2019

#time.ctime: 获取字符串化的当前时间, 不需要通过localtime来获取一次
print(time.ctime())    #输出结果: Wed Nov  6 14:35:27 2019

#time.mktime(tupletime):  接受时间元组并返回时间戳(1970纪元后经过的浮点秒数).
lt = time.localtime()
ts = time.mktime(lt)
print(ts)    #输出结果: 1573022397.0


#s	time.sleep(secs):  推迟调用线程的运行,secs指秒数。
for i in range(10):
    print(i)
    time.sleep(1)
'''
输出结果:
每隔一秒打印一个
0
1
2
3
4
5
6
7
8
9
'''
strftime 将时间元祖转化为自定义的字符串格式

python中时间日期格式化符号:

%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 当前时区的名称
%% %号本身

datetime 模块 datetime官方描述

  • datetime 提供日期和时间的运算和表示
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值