Python学习 8day__高级语法

常用模块

- calendar
- datetime
- timeit
- os
- shutil
- zip
- math
- string


  time 模块


    时间戳
     一个时间表示方法,不同语言,可以表示为整数或者浮点数
     是1970年1月1日0时0分0秒到现在经历的秒数
     如果表示的时间是1970年以前或是太遥远的未来,可能会出现异常
     32位操作系统只能够支持到2038年
    UTC时间
     UTC时间是世界协调时间
     中国是UTC+8 东八区

 1 import time
 2 
 3 # timezone:获取当前所在时区和UTC时间相差的秒数,在没有夏令时的情况下
 4 # altzone:获取当前所在时区和UTC时间相差的秒数,有夏令时的情况下
 5 # daylight:测当前是否是夏令时时间状态 0表示是
 6 print(time.timezone)
 7 print(time.daylight)
 8 
 9 # time:得到时间戳
10 print(time.time())
11 
12 # localtime:得到当前时间的时间结构
13 # 可以通过点号操作符得到相应的属性元素的内容
14 t = time.localtime()
15 print(t)
16 print(t.tm_hour)
17 
18 # asctime:返回元组的正常字符串化之后的时间格式
19 t = time.localtime()
20 tt = time.asctime(t)
21 print(tt)
22 
23 # ctime:获取字符串化的当前时间
24 t = time.ctime()
25 print(t)
26 
27 # mktime:使用时间元组获取对应的时间戳
28 # 返回值:浮点数时间戳
29 t = time.localtime()
30 ts = time.mktime(t)
31 print(ts)
32 
33 #clock: 获取cpu时间 3.0-3.3python版本直接使用,,3.6调用有问题
34 
35 # sleep:使程序进入睡眠,n秒后继续
36 print("(*-*)")
37 #time.sleep(5)
38 print("休息五秒在打印")
39 
40 # strftime:将时间元组转换为自定义的字符串格式
41 
42 # 把时间表示为 年月日小时分钟
43 time.strftime("%Y{0}%m{1}%d{2} %H{3}%M").format('', '', '', ':')

 



  datetim模块

    datatinme提供日期和时间的运算和表示

import datetime

# datetime.date: 一个理想的日期,提供year,month,day属性
dt = datetime.date(2018,7,25)
print(dt)
print(dt.day)
print(dt.year)
print(dt.month)

# datetime.time: 提供一个理想的时间
# datetime.datetime: 提供日期和时间的组合

 



  datetime 常用类方法

    today
    now
    utcnow
    fromtimestamp:从时间戳返回本地时间

 1 from datetime import datetime
 2 dt = datetime(2018,7,25)
 3 print(dt.today())
 4 print(dt.now())
 5 print(dt.fromtimestamp(time.time()))
 6 # datetime.timedelta: 提供一个时间差,时间长度
 7 from datetime import  datetime, timedelta
 8 
 9 t1 = datetime.now()
10 print(t1.strftime("%Y-%m-%d %H:%M:%S"))
11 # td表示一小时的时间长度
12 td = timedelta(hours = 1)
13 # 当时间加上时间间隔后,把得到的一小时后的时间格式化输入、
14 print((t1+td).strftime("%Y-%m-%d %H:%M:%S"))

 



  timeit 时间测量工具

def p():
    time.sleep(3.6)
t1 = time.time()
p()
print(time.time() - t1)
# 如果单纯比较生成一个列表的时间,可能很难实现
# 利用timeit调用代码,执行100000次,查看运行时间
import timeit
c = '''
sum = []
for i in range (1000):
    sum.append(i)
    '''
#t1 = timeit.timeit(stmt="[i for i in range (1000)]", number=100000)
#t2 = timeit.timeit(stmt=c, number=100000)
#print(t1)
#print(t2)

 



timeit 可以执行一个函数,来测量一个函数的执行时间
1 def doIt():
2     num=3
3     for i in range(num):
4         print(i)
5 print(timeit.timeit(stmt=doIt,number=10))

  calendar模块

     与日历有关的模块

 1 import calendar
 2 
 3 # calendar: 获取一年的日历字符串
 4 # 可选参数
 5 # w = 每个日期之间的间隔字符数
 6 # l = 每周所占的行数
 7 # c = 每个月之间的间隔字符数
 8 cal = calendar.calendar(2017,w=2)
 9 print(cal)
10 print(type(cal))
11 
12 # prcal:直接打印日历
13 calendar.prcal(2018)
14 
15 # isleap:判断某一年是否闰年
16 print(calendar.isleap(2000))
17 
18 # leapdays:获取指定年份之间的闰年个数
19 # 前一个参数要小于后一个参数
20 print(calendar.leapdays(1999, 2999))
21 
22 # month: 获取某个月日历字符串
23 # 格式:calendar.month(年份,月份)
24 mm = calendar.month(2018, 9)
25 print(mm)
26 
27 # prmonth:直接打印整个月的日历
28 # 格式:calendar.prmonth(年份,月份)
29 calendar.prmonth(2018,3)
30 
31 # monthrange:获取一个月的第一天是星期几,和天数,默认从0到6表示周一到周日
32 # 格式:calendar.monthrange(年份,月份)
33 a,b = calendar.monthrange(2018, 9)
34 print(a)
35 print(b)
36 
37 # monthcalendar: 返回一个月每天的矩阵列表
38 # 格式:calendar.monthcalendar(年份,月份)
39 m = calendar.monthcalendar(2018, 9)
40 print(m)
41 
42 # weekday:获取星期几
43 # 格式:calendar.weekday(年份,月份,日)
44 print(calendar.weekday(2018, 9, 2))

 

posted @ 2018-07-26 07:32  Burtit  阅读(234)  评论(0编辑  收藏  举报