python_模块

模块

❗️ 值得一看的博客:https://www.cnblogs.com/suoning/p/5515752.html#autoid-0-0-0

  1. python模块是一个.py文件,包含python定义和语句。
  2. 模块可以包含函数、类、变量以及可执行代码。
  3. 通过模块,可以将代码组织成可重用的单元,便于管理和维护。【模块能够有逻辑的组织代码】
  4. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

模块的导入

  1. import语句:import module1[, module2[,... moduleN]
  2. 导入所有函数:from 模块名 import *
  3. 导入指定函数:from 模块名 import 指定函数
  4. 通过别名调用函数:from 模块名 import 函数名 as 别名

注意

  • 一个py文件中,一个模块只会被导入一次,可以防止导入模块被一遍一遍的执行。
  • 模块不调用时是置灰状态。

time模块

内置模块,import time 导入,处理时间戳、struct_time 元组、休眠、时间格式化、性能计时。
核心 3 种时间表示形式:时间戳、struct_time、时间字符串

三种时间类型

  1. 时间戳timestamp:浮点数,单位秒。起点:1970-01-01 00:00:00 UTC

  2. struct_time:时间元组,共 9 个字段,time 模块转换的中间载体
    (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

    属性 含义
    tm_year 年
    tm_mon 月 1~12
    tm_mday 日 1~31
    tm_hour 时 0~23
    tm_min 分 0~59
    tm_sec 秒 0~59
    tm_wday 星期 0 = 周一,6 = 周日
    tm_yday 一年中的第几天
    tm_isdst 是否夏令时 0 否
  3. 时间字符串:人可读格式,如'2026-09-23 16:30:00'

常用的函数

  1. 获取当前 UTC 时间戳(浮点数):time.time()
  2. 时间戳 → 本地时区 struct_time,不传参数默认当前时间戳:time.localtime([timestamp])
  3. 时间戳 → UTC 零时区 struct_time,北京时间 = UTC 时间 +8 小时:time.gmtime([timestamp])
  4. struct_time → 时间戳(localtime 反向转换):time.mktime(struct_time)
  5. struct_time → 格式化时间字符串 ✅自动化测试高频:time.strftime(format, struct_time)
  6. 时间字符串 → struct_time,strftime反向操作:time.strptime(str, format)
  7. 时间戳 → 本地可读字符串,不传参返回当前时间:time.ctime([timestamp])
  8. 程序休眠 / 等待指定秒,自动化等待常用:time.sleep(secs)
  9. 高精度计时器,推荐用来统计代码耗时,不受系统时间修改影响:time.perf_counter()
from time import *
print(time()) # 1790156288.2740383
print(localtime()) # time.struct_time(tm_year=2026, tm_mon=9, tm_mday=23, tm_hour=17, tm_min=38, tm_sec=8, tm_wday=2, tm_yday=266, tm_isdst=0)
print(gmtime()) # time.struct_time(tm_year=2026, tm_mon=9, tm_mday=23, tm_hour=9, tm_min=38, tm_sec=8, tm_wday=2, tm_yday=266, tm_isdst=0)
print(mktime(localtime())) # 1790156288.0
print(strftime('%Y-%m-%d %H:%M:%S', localtime())) # 2026-09-23 17:38:08
print(strftime('%Y-%m-%d %H:%M:%S')) # 2026-09-23 17:38:08
print(strptime('2026-09-23 17:34:00','%Y-%m-%d %H:%M:%S')) # time.struct_time(tm_year=2026, tm_mon=9, tm_mday=23, tm_hour=17, tm_min=34, tm_sec=0, tm_wday=2, tm_yday=266, tm_isdst=-1)
print(ctime()) # Wed Sep 23 17:38:08 2026

st=perf_counter()
sleep(1.5)
et=perf_counter()
print(f'耗时 {et - st}') # 耗时 1.5004086000844836

转换关系图
time转换图

strftime格式符号汇总

符号 说明
%Y 4 位年份 2026
%y 2 位年份 26
%m 月份 01~12
%d 日期 01~31
%H 24 小时制 00~23
%I 12 小时制
%M 分钟 00~59
%S 秒 00~59
%w 星期 0 = 周日

注意点

  1. ❌️变量名不要写time=xxx,覆盖模块,调用time.time()会报错
  2. strptime的格式字符串必须和输入时间完全匹配,少符号直接报错
  3. localtime本地时间,gmtimeUTC时间,相差8小时(国内)
  4. time.time()会受系统时间修改影响;计时优先使用perf_counter

datetime模块

datetime 是内置模块,专门做日期时间运算,比 time 模块更适合业务时间处理。
导入:from datetime import datetime, date, time, timedelta

五大核心类

  1. datetime.datetime:同时包含日期+时间【最常用】
  2. datetime.date:只有日期【年月日】
  3. datetime.time:只有时间【时分秒微秒】
  4. datetime.timedelta:时间差!做日期加减核心
  5. datetime.tzinfo:时区【了解即可】

datetime常用方法

  1. 获取当前日期和时间:datetime.now()
  2. 创建特定的日期和时间:datetime(xxxx,x,x,x,x,x)
  3. 格式化日期和时间:datetime.now().strftime('%Y-%m-%d %H:%M:%S')
posted @ 2026-09-23 18:31  一只鹿吖  阅读(13)  评论(0)    收藏  举报