python笔记十一:常用模块

一.calendar:日历相关模块

1.calendar:获取一年的日历字符串

  • 参数

      w = 每个日期之间的间隔字符数

      l = 每周所占用的行数

      c = 每个月之间的间隔字符数

  • 例子
import calendar

cal = calendar.calendar(2018,w=3,l=2,c=5) #可以不写参数,直接cal = calendar.calendar(2018)
print(type(cal))
print(cal)

2.isleap:判断某一年是否是闰年

  • 例子
import calendar

print(calendar.isleap(2000))

3.leapdays:获取指定年份之间的闰年个数,前闭后开

import calendar

print(calendar.leapdays(2001,2025))

4.month:获取某个月日历的字符串

import calendar

print(calendar.month(2018,6))

5.monthrange:返回一个月从周几开始和天数

  • 格式:monthrange(年,月),返回值为元组(周几开始,天数),周几默认0-6表示周一到周日
import calendar

print(calendar.monthrange(2018,6))

#另一种表示方法
p,q = calendar.monthrange(2018,6)
print(p)
print(q)

6.monthcalendar:返回一个月每天的矩阵列表

  • 格式:monthcalendar(年,月),返回值:二级列表,注意:矩阵中没有的天数用0表示
import calendar

print(calendar.monthcalendar(2018,6))

7.prcal:直接打印日历

import calendar

calendar.prcal(2018)

8.prmonth:直接打印整个月的日历

import calendar

calendar.prmonth(2018,6)

9.weekday:获取周几

  • 格式:weekday(年,月,日),返回值:0-6表示周一到周日
import calendar

print(calendar.weekday(2019,2,27))

二.time模块

1.时间戳

  • 一个时间表时,跟具不同的语言可以是整数或者浮点数
  • 表示从1970年1月1日0时0分0秒到现在经历的秒数
  • 如果表示的是1970年以前或者太遥远的未来,可能会出现异常
  • 32位系统可以支持到2038年

2.UTC时间

  • 又称为世界协调时间,以英国格林尼治天文台所在地区为参考时间,也叫世界标准时间
  • 中国时间是UTC+8,东八区

3.夏令时

  • 夏令时就是夏天将时间调快一小时,督促人早起早睡,充分利用光照,节约资源,每天为25个小时,实际本质还是24小时

4.时间元祖

  • 一个包含时间内容的普通元祖

5.timezone:当前时区和UTC时间相差的秒数,在没有夏令时的情况下的间隔

import time

print(time.timezone)

 

6.altzone:当前时区和UTC时间相差的秒数,在有夏令时的情况下的间隔

import time

print(time.altzone)

7.daylight:检测是否为夏令时状态,0表示是

import time

print(time.daylight)

8.time:得到时间戳

import time

print(time.time())

9.localtime:得到当前时间的时间结构

  • 可以通过点号操作符得到相应的属性元素的内容
import time

t = time.localtime()
print(t)
print(t.tm_year)

10.asctime:返回元组的正常字符串化之后的时间格式

  • 格式:asctime(时间元组)
import time

t = time.localtime()
print(time.asctime(t))

11.ctime:获取字符串化的当地时间

import time

t = time.ctime()
print(t)
print(type(t))

12.mktime:使用时间元组获取对应的时间戳

  • 格式:mktime(时间元组),返回值:浮点数时间戳
import time

t = time.localtime()
ts = time.mktime(t)
print(ts)
print(type(ts))

13.clock:获取cpu时间,3.0-3.3直接使用,3.6调用有问题

14.sleep:使程序进入睡眠状态,n秒后继续

import time

for i in range(5):
    print(i)
    time.sleep(1) #每打印一个,休息1秒

15.strftime:将时间元组转化为自定义的字符串格式

#将时间表示为 **年**月**日**时**分**秒
# **年**月**日 **:**
import time

t=time.strftime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').format(y='年',m='月',d='日',h='时',f='分',s='秒')
print(t)

tt=time.strftime('%Y{y}%m{m}%d{d} %H{h}%M').format(y='年',m='月',d='日',h=':')
print(tt)

三.datetime模块

1.datetime提供日期和时间的运算和表示

2.date:一个理想和的日期,提供year、month、day属性

import datetime

dt = datetime.date(2018,3,26)
print(dt)
print(dt.day)

3.time:一个理想和的时间,提供hour、minute、sec、microsec等内容

4.datetime:提供日期和时间的组合

常用类方法:

  • today
  • now
  • utcnow
  • fromtimestamp:从时间戳返回本地时间
import time
from datetime import datetime

#常用类方法
print(datetime.now())
print(datetime.fromtimestamp(time.time()))

 

5.timedelta:提供一个时间差,时间长度

from datetime import timedelta,datetime

t1 = datetime.now()
print(t1)

td = timedelta(hours=1) #时间间隔

print(t1+td) #当前时间加上时间间隔

 

四.timeit时间测量模块

1.不用timeit模块时:

#测量程序运行时间间隔
import time

def p():
    time.sleep(3.6)

t1 = time.time()
p()
print(time.time()-t1)

2.用timeit模块测量程序运行时间

#生成列表的两种方法比较
#一种for循环,一种列表生成器
import timeit

c = '''
sum = []
for i in range(1000):
    sum.append(i)
'''
t1 = timeit.timeit(stmt=c,number=100000)

#利用timeit调用代码,执行100000次,查看运行时间
t2 = timeit.timeit(stmt='[i for i in range(1000)]',number=100000)

print(t1)
print(t2)

3.timeit可以执行一个函数,来测量一个函数的执行时间

  • 函数没有参数时:
import timeit

def doIt():
    num = 3
    for i in range(num):
        print('repeat for {}'.format(i))

#执行函数重复十次
t = timeit.timeit(stmt=doIt,number=10)
print(t)

  • 函数有参数时:
import timeit

s = '''
def doIt(num):
    for i in range(num):
        print('repeat for {}'.format(i))
'''

#执行doIt(num),setup负责把环境变量准备好
#相当于给timeit创造一个小环境,执行顺序为
'''
def doIt(num)
  ...
num=3
doIt(num)
'''
t = timeit.timeit('doIt(num)',setup=s+'num=3',number=10)
print(t)

 

 


视频参考极客学院

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值