1.定义:模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),

本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)。

包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)

2.导入方法

import module_name # module_name=all_code,实际导入模块内的所有代码
import module1_name, module2_name # 同时导入多个模块
from module_name import * #此方法导入 module_name中的全部方法。慎用此方法
from module_name import func1,func2,... #导入模块内指定的方法
from module_name import func1 as f1 # 使用别名,调用func1的时候,直接用f1

3.import本质(路径搜索和搜索路径)

导入模块的本质就是把pythony文件解释一遍

(import test test='test.py all code')
(from test import m1 m1='code')
import module_name ----->module_name.py---->module_name.py的路径---->sys.path

导入包的本质就是执行该包下的__init__.py文件

在包所在的目录下的模块要加入到__init.py文件中方可导入包下面的文件

from . import module_name # . 是指 __init__.py所在的目录

4.导入优化:使用from方法导入模块

from module_name import func1 # 此时可直接调用func1(),因为func1方法也在当前解释一次,不用写上模块名。

5.模块的分类

a:标准库(内置模块)

b:开源模块(第三方模块)

c:自定义模块

标准库:

1. time:时间戳、元组(格式化的时间)、

时间:DST时间要比UTC时间早8个小时

import time
time.time() #显示时间戳,秒
time.sleep() #程序睡几秒
time.gmtime() #默认获取当前时间,UTC时间
time.localtime() # 格式化的时间,元组,是本地的时间,是UTC+8时间
time.localtime(1231231345) # 把秒转换成相应的年月日时分秒
time.mktime() # 传入一时间元组,转换为时间戳
time.strftime(“%Y-%m-%d %H:%M:%S”,t) # t为一个时间元组,t=time.localtime()
time.strftime("格式",struct_time) --->"格式化的字符串"
time.strptime("格式化的字符串","格式") --->struct_time
time.strptime("2018-10-01 12:30:30",“%Y-%m-%d %H:%M:%S”) # 代码中的两个参数要一一对应
help(time.strftime) # 看帮助
time.strptime() # 该方法与 strftime()的作用相反
time.timezone # 输出 -28800,28800/3600=8,DST与UTC时间相关8个小时
time.daylight # 输出 0 表示没有使用夏令时,使用的是中巴区时间
time.asctime() # 把元组时间转换成字符串,默认是当前时间,UTC
time.asctime(time.localtime())
time.ctime() # 把时间戳转换成字符串
time.ctime(155555555) #'Fri Dec 6 17:52:35 1974'
time.strptime('2018-10-28 16:43:39','%Y-%m-%d %H:%M:%S') # 代码中的两个参数要一一对应
time.clock() # 返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
time.altzone # 返回与utc时间的时间差,以秒计算
time.gmtime(time.time()-800000)
# 日期字符串 转成 时间戳
string_to_struct = time.strptime("2018/11/22","%Y/%m/%d") # 将 日期字符串 转成 struct时间对象格式
print(string_to_struct) # time.struct_time(tm_year=2018, tm_mon=11, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=326, tm_isdst=-1)
struct_to_stamp = time.mktime(string_to_struct) # 将struct时间对象转成时间戳
print(struct_to_stamp) # 1542816000.0
# 将时间戳转为字符串格式
time.gmtime(time.time()-86640) # 将utc时间戳转换成struct_time格式
time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) # 将utc struct_time格式转成指定的字符串格式
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) # DST时间

2.datetime介绍:

import datetime
datetime.datetime.now() #当前时间
datetime.datetime.now()+datetime.timedelta(3) # 获取当前时间的后三天
datetime.datetime.now()+datetime.timedelta(-3) # 获取当前时间的前三天
datetime.datetime.now()+datetime.timedelta(hours=3) # 获取当前时间的后三个小时
datetime.datetime.now()+datetime.timedelta(hours=-3) # 获取当前时间的后前个小时
datetime.datetime.now()+datetime.timedelta(minutes=-30) # 当前时间-30分钟,30分钟前的时间

有不清楚的就看help相关模块

c_time = datetime.datetime.now()
print(c_time.replace(minute=10,hour=3)) # 时间替换,替换成 3:10,3点10分