1.模块
a.定义:本质就是.py结尾的python文件,逻辑上组织python代码,实现某种功能。例:文件名test.py-->模块名test。
b.导入方法:imort moduname
from mdname import *
from mdname import name as rename
...
c.import本质(路径搜索和搜索路径)
d.导入优化:from mdname import test
e.模块分类:标准库内的模块、开源模块、自定义模块。
2.time &datetime模块
Python的时间模块主要有两个:time和datetime。
2.1 time模块
Python的time模块实现主要调用C库,所以各个平台可能有所不同。time模块表示时间的有三种类型:
(1)timestamp 时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回时间戳方式的函数主要有time(),clock()等;
(2)struct_time 时间元组,共有九个元素。返回struct_time的函数主要有gmtime(),localtime(),strptime();
tm_year 2018 tm_mon 1 到 12 tm_mday 1 到 31 tm_hour 0 到 23 tm_min 0 到 59 tm_sec 0 到 61 (60或61 是闰秒) tm_wday 0到6 (0是周一) tm_yday 1 到 366(儒略历) tm_isdst -1, 0, 1, -1是决定是否为夏令时的旗帜
(3)format time 格式化时间,自定义格式和固定格式。相当于把时间转换成可读性比较高的字符串。
补充:UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。中国北京时间(东八区)为UTC+8。DST(Daylight Saving Time)为夏令时。
1 #_*_coding:utf-8_*_ 2 import time 3 4 5 # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来 6 # print(time.altzone) #返回与utc时间的时间差,以秒计算\ 7 # print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016", 8 # print(time.localtime()) #返回本地时间 的struct time对象格式 9 # print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式 10 11 # print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016", 12 #print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上 13 14 15 16 # 日期字符串 转成 时间戳 17 # string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式 18 # print(string_2_struct) 19 # # 20 # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳 21 # print(struct_2_stamp) 22 23 24 25 #将时间戳转为字符串格式 26 # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式 27 # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式 28 29 #时间加减 30 import datetime 31 32 # print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925 33 #print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19 34 # print(datetime.datetime.now() ) 35 # print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天 36 # print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天 37 # print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时 38 # print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分 39 40 41 # 42 # c_time = datetime.datetime.now() 43 # print(c_time.replace(minute=3,hour=2)) #时间替换
对应格式:
1 %a 本地(locale)简化星期名称 2 %A 本地完整星期名称 3 %b 本地简化月份名称 4 %B 本地完整月份名称 5 %c 本地相应的日期和时间表示 6 %d 一个月中的第几天(01 - 31) 7 %H 一天中的第几个小时(24小时制,00 - 23) 8 %I 第几个小时(12小时制,01 - 12) 9 %j 一年中的第几天(001 - 366) 10 %m 月份(01 - 12) 11 %M 分钟数(00 - 59) 12 %p 本地am或者pm的相应符 13 %S 秒(01 - 61) 14 %U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 15 %w 一个星期中的第几天(0 - 6,0是星期天) 16 %W 和%U基本相同,不同的是%W以星期一为一个星期的开始。 17 %x 本地相应日期 18 %X 本地相应时间 19 %y 去掉世纪的年份(00 - 99) 20 %Y 完整的年份 21 %Z 时区的名字(如果不存在为空字符) 22 %% ‘%’字符