Python 时间模块深度解析:从基础到高级的全面指南
off999 2025-05-16 15:34 2 浏览 0 评论
直接上干货
一、时间模块核心类介绍
序号 | 类名 | 说明 |
1 | datetime.datetime | 表示一个具体的日期和时间,结合了日期和时间的信息。 |
2 | datetime.date | 表示一个具体的日期。 |
3 | datetime.time | 表示一个具体的时间。 |
4 | datetime.timedelta | 表示两个日期或时间之间的时间差。 |
5 | datetime.tzinfo | 抽象基类,用于表示时区信息。 |
6 | datetime.timezone | 具体实现的 tzinfo 子类,用于表示固定的 UTC 偏移量。 |
7 | time | 提供了与时间相关的函数和方法。 |
- datetime.datetime
- 说明:表示一个具体的日期和时间,结合了日期和时间的信息。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt) # 输出:2024-10-11 12:30:00
- datetime.date
- 说明:表示一个具体的日期。示例代码:from datetime import date
d = date(2024, 10, 11)
print(d) # 输出:2024-10-11
- datetime.time
- 说明:表示一个具体的时间。示例代码:from datetime import time
t = time(12, 30, 0)
print(t) # 输出:12:30:00
- datetime.timedelta
- 说明:表示两个日期或时间之间的时间差。示例代码:from datetime import timedelta
delta = timedelta(days=5, hours=3)
print(delta) # 输出:5 days, 3:00:00
- datetime.tzinfo
- 说明:抽象基类,用于表示时区信息。
- datetime.timezone
- 说明:具体实现的tzinfo子类,用于表示固定的UTC偏移量。示例代码:from datetime import timezone, timedelta
tz = timezone(timedelta(hours=8))
print(tz) # 输出:datetime.timezone(datetime.timedelta(seconds=28800))
- time
- 说明:提供了与时间相关的函数和方法。
二、datetime 类
构造方法
- datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
- 说明:创建一个指定日期和时间的对象。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt) # 输出:2024-10-11 12:30:00
常用方法
序号 | 方法名 | 说明 |
1 | today() | 返回当前本地日期和时间,tzinfo 为 None。 |
2 | now(tz=None) | 返回当前本地日期和时间,可指定时区。 |
3 | utcnow() | 获取当前国际标准时间(UTC)的日期和时间。 |
4 | fromtimestamp(timestamp, tz=None) | 从时间戳创建一个 datetime 对象。 |
5 | combine(date, time) | 将 date 和 time 组合成一个 datetime 对象。 |
6 | astimezone(tz) | 将 datetime 对象转换为指定时区。 |
7 | replace() | 创建一个新的 datetime 对象,替换指定的属性。 |
8 | strftime(format) | 将 datetime 对象格式化为字符串。 |
9 | strptime(date_string, format) | 从字符串解析为 datetime 对象。 |
10 | isoformat() | 将 datetime 对象格式化为 ISO 8601 标准的字符串。 |
- today()
- 说明:返回当前本地日期和时间,tzinfo为None。示例代码:from datetime import datetime
dt_today = datetime.today()
print(dt_today) # 输出:当前的日期和时间
- now(tz=None)
- 说明:返回当前本地日期和时间,可指定时区。示例代码:from datetime import datetime
dt_now = datetime.now()
print(dt_now) # 输出:当前的日期和时间
- utcnow()
- 说明:获取当前国际标准时间(UTC)的日期和时间。示例代码:from datetime import datetime
dt_utcnow = datetime.utcnow()
print(dt_utcnow) # 输出:当前的 UTC 日期和时间
- fromtimestamp(timestamp, tz=None)
- 说明:从时间戳创建一个datetime对象。示例代码:from datetime import datetime
import time
timestamp = time.time()
dt_fromtimestamp = datetime.fromtimestamp(timestamp)
print(dt_fromtimestamp) # 输出:从时间戳转换的日期和时间
- combine(date, time)
- 说明:将date和time组合成一个datetime对象。示例代码:from datetime import datetime, date, time
dt_date = date(2024, 10, 11)
dt_time = time(12, 30, 0)
dt_combine = datetime.combine(dt_date, dt_time)
print(dt_combine) # 输出:2024-10-11 12:30:00
- astimezone(tz)
- 说明:将datetime对象转换为指定时区。示例代码:from datetime import datetime, timezone
dt = datetime.now()
tz = timezone(timedelta(hours=8))
dt_astimezone = dt.astimezone(tz)
print(dt_astimezone) # 输出:转换为指定时区的日期和时间
- replace()
- 说明:创建一个新的datetime对象,替换指定的属性。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
dt_replace = dt.replace(year=2025, month=11)
print(dt_replace) # 输出:2025-11-11 12:30:00
- strftime(format)
- 说明:将datetime对象格式化为字符串。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
dt_strftime = dt.strftime("%Y-%m-%d %H:%M:%S")
print(dt_strftime) # 输出:2024-10-11 12:30:00
- strptime(date_string, format)
- 说明:从字符串解析为datetime对象。示例代码:from datetime import datetime
date_string = "2024-10-11 12:30:00"
dt_strptime = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(dt_strptime) # 输出:2024-10-11 12:30:00
- isoformat()
- 说明:将datetime对象格式化为 ISO 8601 标准的字符串。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
dt_isoformat = dt.isoformat()
print(dt_isoformat) # 输出:2024-10-11T12:30:00
常用属性
序号 | 属性名 | 说明 |
1 | year | 年份。 |
2 | month | 月份。 |
3 | day | 日期。 |
4 | hour | 小时。 |
5 | minute | 分钟。 |
6 | second | 秒。 |
7 | microsecond | 微秒。 |
8 | tzinfo | 时区信息。 |
9 | fold | 表示是否处于夏令时。 |
- year
- 说明:年份。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.year) # 输出:2024
- month
- 说明:月份。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.month) # 输出:10
- day
- 说明:日期。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.day) # 输出:11
- hour
- 说明:小时。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.hour) # 输出:12
- minute
- 说明:分钟。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.minute) # 输出:30
- second
- 说明:秒。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0)
print(dt.second) # 输出:0
- microsecond
- 说明:微秒。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0, 123456)
print(dt.microsecond) # 输出:123456
- tzinfo
- 说明:时区信息。示例代码:from datetime import datetime, timezone
tz = timezone(timedelta(hours=8))
dt = datetime(2024, 10, 11, 12, 30, 0, tzinfo=tz)
print(dt.tzinfo) # 输出:datetime.timezone(datetime.timedelta(seconds=28800))
- fold
- 说明:表示是否处于夏令时。示例代码:from datetime import datetime
dt = datetime(2024, 10, 11, 12, 30, 0, fold=1)
print(dt.fold) # 输出:1
三、date 类
构造方法
- date(year, month, day)
- 说明:创建一个指定日期的对象。示例代码:from datetime import date
d = date(2024, 10, 11)
print(d) # 输出:2024-10-11
常用方法
序号 | 方法名 | 说明 |
1 | today() | 获取当前日期,tzinfo 为 None。 |
2 | fromtimestamp(timestamp) | 从时间戳创建一个 date 对象。 |
3 | replace() | 创建一个新的 date 对象,替换指定的属性。 |
4 | strftime(format) | 将 date 对象格式化为字符串。 |
5 | isoformat() | 将 date 对象格式化为 ISO 8601 标准的字符串。 |
- today()
- 说明:获取当前日期,tzinfo为None。示例代码:from datetime import date
d_today = date.today()
print(d_today) # 输出:当前的日期
- fromtimestamp(timestamp)
- 说明:从时间戳创建一个date对象。示例代码:from datetime import date
import time
timestamp = time.time()
d_fromtimestamp = date.fromtimestamp(timestamp)
print(d_fromtimestamp) # 输出:从时间戳转换的日期
- replace()
- 说明:创建一个新的date对象,替换指定的属性。示例代码:from datetime import date
d = date(2024, 10, 11)
d_replace = d.replace(year=2025, month=11)
print(d_replace) # 输出:2025-11-11
- strftime(format)
- 说明:将date对象格式化为字符串。示例代码:from datetime import date
d = date(2024, 10, 11)
d_strftime = d.strftime("%Y-%m-%d")
print(d_strftime) # 输出:2024-10-11
- isoformat()
- 说明:将date对象格式化为 ISO 8601 标准的字符串。示例代码:from datetime import date
d = date(2024, 10, 11)
d_isoformat = d.isoformat()
print(d_isoformat) # 输出:2024-10-11
常用属性
序号 | 属性名 | 说明 |
1 | year | 年份。 |
2 | month | 月份。 |
3 | day | 日期。 |
- year
- 说明:年份。示例代码:from datetime import date
d = date(2024, 10, 11)
print(d.year) # 输出:2024
- month
- 说明:月份。示例代码:from datetime import date
d = date(2024, 10, 11)
print(d.month) # 输出:10
- day
- 说明:日期。示例代码:from datetime import date
d = date(2024, 10, 11)
print(d.day) # 输出:11
四、time 类
构造方法
- time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
- 说明:创建一个指定时间的对象。示例代码:from datetime import time
t = time(12, 30, 0)
print(t) # 输出:12:30:00
常用方法
序号 | 方法名 | 说明 |
1 | replace() | 创建一个新的 time 对象,替换指定的属性。 |
2 | strftime(format) | 将 time 对象格式化为字符串。 |
3 | isoformat() | 将 time 对象格式化为 ISO 8601 标准的字符串。 |
- replace()
- 说明:创建一个新的time对象,替换指定的属性。示例代码:from datetime import time
t = time(12, 30, 0)
t_replace = t.replace(hour=13, minute=45)
print(t_replace) # 输出:13:45:00
- strftime(format)
- 说明:将time对象格式化为字符串。示例代码:from datetime import time
t = time(12, 30, 0)
t_strftime = t.strftime("%H:%M:%S")
print(t_strftime) # 输出:12:30:00
- isoformat()
- 说明:将time对象格式化为 ISO 8601 标准的字符串。示例代码:from datetime import time
t = time(12, 30, 0)
t_isoformat = t.isoformat()
print(t_isoformat) # 输出:12:30:00
常用属性
序号 | 属性名 | 说明 |
1 | hour | 小时。 |
2 | minute | 分钟。 |
3 | second | 秒。 |
4 | microsecond | 微秒。 |
5 | tzinfo | 时区信息。 |
6 | fold | 表示是否处于夏令时。 |
- hour
- 说明:小时。示例代码:from datetime import time
t = time(12, 30, 0)
print(t.hour) # 输出:12
- minute
- 说明:分钟。示例代码:from datetime import time
t = time(12, 30, 0)
print(t.minute) # 输出:30
- second
- 说明:秒。示例代码:from datetime import time
t = time(12, 30, 0)
print(t.second) # 输出:0
- microsecond
- 说明:微秒。示例代码:from datetime import time
t = time(12, 30, 0, 123456)
print(t.microsecond) # 输出:123456
- tzinfo
- 说明:时区信息。示例代码:from datetime import time, timezone
tz = timezone(timedelta(hours=8))
t = time(12, 30, 0, tzinfo=tz)
print(t.tzinfo) # 输出:datetime.timezone(datetime.timedelta(seconds=28800))
- fold
- 说明:表示是否处于夏令时。示例代码:from datetime import time
t = time(12, 30, 0, fold=1)
print(t.fold) # 输出:1
五、timedelta 类
构造方法
- timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
- 说明:创建一个表示时间差的对象。示例代码:from datetime import timedelta
delta = timedelta(days=5, hours=3)
print(delta) # 输出:5 days, 3:00:00
常用方法
序号 | 方法名 | 说明 |
1 | total_seconds() | 获取时间差的总秒数。 |
- total_seconds()
- 说明:获取时间差的总秒数。示例代码:from datetime import timedelta
delta = timedelta(days=5, hours=3)
print(delta.total_seconds()) # 输出:451800.0
常用属性
序号 | 属性名 | 说明 |
1 | days | 天数。 |
2 | seconds | 秒数。 |
3 | microseconds | 微秒数。 |
六、tzinfo 类
常用方法
序号 | 方法名 | 说明 |
1 | utcoffset(dt) | 返回相对于 UTC 的偏移量。 |
2 | tzname(dt) | 返回时区名称。 |
3 | dst(dt) | 返回夏令时偏移量。 |
- utcoffset(dt)
- 说明:返回相对于 UTC 的偏移量。示例代码:from datetime import tzinfo, timedelta, datetime
class MyTZ(tzinfo):
def utcoffset(self, dt):
return timedelta(hours=8)
my_tz = MyTZ()
print(my_tz.utcoffset(None)) # 输出:8:00:00
- tzname(dt)
- 说明:返回时区名称。示例代码:from datetime import tzinfo, datetime
class MyTZ(tzinfo):
def tzname(self, dt):
return "Asia/Shanghai"
my_tz = MyTZ()
print(my_tz.tzname(None)) # 输出:Asia/Shanghai
- dst(dt)
- 说明:返回夏令时偏移量。示例代码:from datetime import tzinfo, timedelta, datetime
class MyTZ(tzinfo):
def dst(self, dt):
return timedelta(seconds=0)
my_tz = MyTZ()
print(my_tz.dst(None)) # 输出:0:00:00
七、timezone 类
构造方法
- timezone(offset, name=None)
- 说明:创建一个表示时区的对象。示例代码:from datetime import timezone, timedelta
tz = timezone(timedelta(hours=8))
print(tz) # 输出:datetime.timezone(datetime.timedelta(seconds=28800))
常用方法
序号 | 方法名 | 说明 |
1 | utcoffset(dt) | 返回固定偏移量。 |
2 | fromutc(dt) | 处理时间转换。 |
- utcoffset(dt)
- 说明:返回固定偏移量。示例代码:from datetime import timezone, timedelta
tz = timezone(timedelta(hours=8))
print(tz.utcoffset(None)) # 输出:8:00:00
- fromutc(dt)
- 说明:处理时间转换。示例代码:from datetime import datetime, timezone, timedelta
tz = timezone(timedelta(hours=8))
dt_utc = datetime(2024, 10, 11, 12, 30, 0, tzinfo=timezone.utc)
dt_local = tz.fromutc(dt_utc)
print(dt_local) # 输出:2024-10-11 20:30:00+08:00
八、time 模块
方法
序号 | 方法名 | 说明 |
1 | time() | 返回当前时间戳(浮点数)。 |
2 | time_ns() | 返回当前时间戳(纳秒为单位的整数)。 |
3 | monotonic() | 返回单调递增的时间(不受系统时间调整影响)。 |
4 | perf_counter() | 高精度计时器,包含休眠时间。 |
5 | process_time() | 返回当前进程的系统和用户 CPU 时间总和。 |
6 | thread_time() | 返回当前线程的 CPU 时间。 |
7 | gmtime([secs]) | 将时间戳转换为 UTC 时间的 struct_time。 |
8 | localtime([secs]) | 将时间戳转换为本地时间的 struct_time。 |
9 | mktime(t) | 将 struct_time(本地时间)转换为时间戳。 |
10 | ctime([secs]) | 将时间戳转换为可读字符串。 |
11 | asctime([t]) | 将 struct_time 转换为可读字符串。 |
12 | strftime(format, [t]) | 根据格式字符串格式化时间。 |
13 | strptime(string, format) | 解析字符串为 struct_time。 |
14 | sleep(secs) | 暂停当前线程指定秒数。 |
- time()
- 说明:返回当前时间戳(浮点数)。示例代码:import time
print(time.time()) # 输出:1697040600.123456
- time_ns()
- 说明:返回当前时间戳(纳秒为单位的整数)。示例代码:import time
print(time.time_ns()) # 输出:1697040600123456000
- monotonic()
- 说明:返回单调递增的时间(不受系统时间调整影响)。示例代码:import time
start = time.monotonic()
# 执行操作...
end = time.monotonic()
print(f"耗时:{end - start}秒") # 输出:耗时:...
- perf_counter()
- 说明:高精度计时器,包含休眠时间。示例代码:import time
start = time.perf_counter()
# 执行操作...
end = time.perf_counter()
print(f"耗时:{end - start}秒") # 输出:耗时:...
- process_time()
- 说明:返回当前进程的系统和用户 CPU 时间总和。示例代码:import time
cpu_time = time.process_time()
print(cpu_time) # 输出:...
- thread_time()
- 说明:返回当前线程的 CPU 时间。示例代码:import time
thread_time = time.thread_time()
print(thread_time) # 输出:...
- gmtime([secs])
- 说明:将时间戳转换为 UTC 时间的struct_time。示例代码:import time
utc_time = time.gmtime(1697040600)
print(utc_time) # 输出:struct_time对象
- localtime([secs])
- 说明:将时间戳转换为本地时间的struct_time。示例代码:import time
local_time = time.localtime(1697040600)
print(local_time) # 输出:struct_time对象
- mktime(t)
- 说明:将struct_time(本地时间)转换为时间戳。示例代码:import time
t = time.localtime(1697040600)
timestamp = time.mktime(t)
print(timestamp) # 输出:1697040600.0
- ctime([secs])
- 说明:将时间戳转换为可读字符串。示例代码:import time
print(time.ctime(1697040600)) # 输出:Fri Oct 11 20:30:00 2024
- asctime([t])
- 说明:将struct_time转换为可读字符串。示例代码:import time
t = time.localtime(1697040600)
print(time.asctime(t)) # 输出:Fri Oct 11 20:30:00 2024
- strftime(format, [t])
- 说明:根据格式字符串格式化时间。示例代码:import time
t = time.localtime(1697040600)
formatted = time.strftime("%Y-%m-%d %H:%M:%S", t)
print(formatted) # 输出:2024-10-11 20:30:00
- strptime(string, format)
- 说明:解析字符串为struct_time。示例代码:import time
time_str = "2024-10-11 20:30:00"
t = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(t) # 输出:struct_time对象
- sleep(secs)
- 说明:暂停当前线程指定秒数。示例代码:import time
time.sleep(2.5) # 暂停 2.5 秒
属性
序号 | 属性名 | 说明 |
1 | timezone | 本地时区偏移(秒,UTC 西区时区为正,东区为负)。 |
2 | altzone | 启用夏令时时,时区的替代偏移(秒)。 |
3 | daylight | 非零表示本地时区启用夏令时。 |
4 | tzname | 包含两个字符串的元组:本地时区名称和非夏令时名称。 |
- timezone
- 说明:本地时区偏移(秒,UTC 西区时区为正,东区为负)。示例代码:import time
print(time.timezone) # 输出:-28800
- altzone
- 说明:启用夏令时时,时区的替代偏移(秒)。示例代码:import time
print(time.altzone) # 输出:-28800
- daylight
- 说明:非零表示本地时区启用夏令时。示例代码:import time
print(time.daylight) # 输出:1
- tzname
- 说明:包含两个字符串的元组:本地时区名称和非夏令时名称。示例代码:import time
print(time.tzname) # 输出:('CST', 'CST')
九、struct_time 结构化时间
属性参数
序号 | 属性索引 | 属性名 | 描述 |
1 | 0 | tm_year | 年份 |
2 | 1 | tm_mon | 月份(1-12) |
3 | 2 | tm_mday | 日期(当月第几天) |
4 | 3 | tm_hour | 小时(0-23) |
5 | 4 | tm_min | 分钟(0-59) |
6 | 5 | tm_sec | 秒(0-61) |
7 | 6 | tm_wday | 星期几(0-6) |
8 | 7 | tm_yday | 一年中的第几天 |
9 | 8 | tm_isdst | 夏令时标志 |
- tm_year → 年份
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_year) # 输出:2024
- tm_mon → 月份(1-12)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_mon) # 输出:10
- tm_mday → 日期(当月第几天)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_mday) # 输出:11
- tm_hour → 小时(0-23)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_hour) # 输出:20
- tm_min → 分钟(0-59)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_min) # 输出:30
- tm_sec → 秒(0-61)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_sec) # 输出:0
- tm_wday → 星期几(0-6)
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_wday) # 输出:4
- tm_yday → 一年中的第几天
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_yday) # 输出:284
- tm_isdst → 夏令时标志
- 示例代码:import time
t = time.localtime(1697040600)
print(t.tm_isdst) # 输出:0
十、calendar 模块
方法
序号 | 方法名 | 说明 |
1 | month(year, month) | 返回指定年份和月份的日历字符串。 |
2 | calendar(year) | 返回指定年份的日历字符串。 |
3 | isleap(year) | 判断指定年份是否为闰年。 |
4 | monthrange(year, month) | 返回一个元组,包含该月第一天是星期几和该月的天数。 |
- month(year, month)
- 说明:返回指定年份和月份的日历字符串。示例代码:import calendar
cal = calendar.month(2024, 10)
print(cal)
- calendar(year)
- 说明:返回指定年份的日历字符串。示例代码:import calendar
cal = calendar.calendar(2024)
print(cal)
- isleap(year)
- 说明:判断指定年份是否为闰年。示例代码:import calendar
is_leap = calendar.isleap(2024)
print(is_leap) # 输出:True
- monthrange(year, month)
- 说明:返回一个元组,包含该月第一天是星期几和该月的天数。示例代码:import calendar
first_day, num_days = calendar.monthrange(2024, 10)
print(f"该月第一天是星期 {first_day},该月有 {num_days} 天")
属性
序号 | 属性名 | 说明 |
1 | firstweekday | 设置每周的第一天(0=周一,6=周日)。 |
- firstweekday
- 说明:设置每周的第一天(0=周一,6=周日)。示例代码:import calendar
calendar.firstweekday = 6 # 设置每周的第一天为星期日
十一、注意事项
- 时间精度:time() 在 Unix 系统精度通常为微秒,Windows 为毫秒。
- 时区处理:建议结合 datetime 模块处理复杂时区问题。
- 单调时间:长时间测量推荐使用 monotonic() 或 perf_counter(),避免系统时间调整影响。
- 上一篇:用python打造一个简单的倒计时器
- 下一篇:Python带你找回童年的万花尺
相关推荐
- 独家 | 5 个Python高级特性让你在不知不觉中成为Python高手
-
你已经使用Python编程了一段时间,编写脚本并解决各种问题。是你的水平出色吗?你可能只是在不知不觉中利用了Python的高级特性。从闭包(closure)到上下文管理器(contextmana...
- Python装饰器
-
Python装饰器是一种用于修改函数或类的行为的特殊语法。它们允许在不修改原始代码的情况下,通过将函数或类作为参数传递给另一个函数来添加额外的功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返...
- 中高阶Python常规用法--上下文管理器
-
Python以简单性和通用性著称,是一种深受全球开发人员喜爱的编程语言。它提供了大量的特性和功能,使编码成为一种愉快的体验。在这些功能中,一个经常被新手忽视的强大工具是上下文管理器。上下文管理器是高...
- Python小案例67- 装饰器
-
Python装饰器是一种用于修改函数或类的行为的特殊语法。它们允许在不修改原始代码的情况下,通过将函数或类作为参数传递给另一个函数来添加额外的功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返...
- python常用的语法糖
-
概念Python的语法糖(SyntacticSugar)是指那些让代码更简洁、更易读的语法特性,它们本质上并不会增加新功能,但能让开发者更高效地编写代码。推导式写法推导式是Python最经典的...
- python - 常用的装饰器 decorator 有哪些?
-
python编程中使用装饰器(decorator)工具,可以使代码更简洁清晰,提高代码的重用性,还可以为代码维护提供方便。对于python初学者来说,根据装饰器(decorator)的字面意思并不...
- python数据缓存怎么搞 ?推荐一个三方包供你参考,非常简单好用。
-
1.数据缓存说明数据缓存可以说也是项目开发中比不可少的一个工具,像我们测试的系统中,你都会见到像Redis一样的数据缓存库。使用缓存数据库的好处不言而喻,那就是效率高,简单数据直接放在缓存中...
- 用于时间序列数据的Graphite监视工具
-
结合第三方工具,Graphite为IT性能监控提供了许多好处。本文介绍其核心组件,包括Carbon、Whisper以及安装的基本准则。Graphite监视工具可实时或按需,大规模地绘制来自多个来源的时...
- Python3+pygame实现的坦克大战
-
一、显示效果二、代码1.说明几乎所有pygame游戏,基本都遵循一定的开发流程,大体如下:初始化pygame创建窗口while循环检测以及处理事件(鼠标点击、按键等)更新UI界面2.代码创建一个m...
- Python之鸭子类型:一次搞懂with与上下文装饰器
-
引言在鸭子类型的理念的基础之上,从关注类型,转变到关注特性和行为。结合Python中的魔法函数的体系,我们可以将自定义的类型,像内置类型一样被使用。今天这篇文章中,接着该话题,继续聊一下with语法块...
- Python必会的50个代码操作
-
学习Python时,掌握一些常用的程序操作非常重要。以下是50个Python必会的程序操作,主要包括基础语法、数据结构、函数和文件操作等。1.HelloWorldprint("Hello,...
- 一文掌握Python 中的同步和异步
-
同步代码(Sync)同步就像在一个流水线上工作,每个任务都等待前一个任务完成。示例:机器A切割钢板→完成后,机器B钻孔→完成后,机器C上色。在Python中,同步代码看起来像这样:im...
- python 标注模块timeit: 测试函数的运行时间
-
在Python中,可以使用内置的timeit模块来测试函数的运行时间。timeit模块提供了一个简单的接口来测量小段代码的执行时间。以下是使用timeit测试函数运行时间的一般步骤:导入...
- Python带你找回童年的万花尺
-
还记得小时候的万花尺吧?这么画:一点也不费脑筋,就可以出来这么多丰富多彩的复杂几何图形。具体而言,可以用万花尺玩具(如图2-1所示)来绘制数学曲线。这种玩具由两个不同尺寸的塑料齿轮组成,一大一小。小的...
- Python 时间模块深度解析:从基础到高级的全面指南
-
直接上干货一、时间模块核心类介绍序号类名说明1datetime.datetime表示一个具体的日期和时间,结合了日期和时间的信息。2datetime.date表示一个具体的日期。3datetime.t...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (54)
- python安装路径 (54)
- python类型转换 (75)
- python进度条 (54)
- python的for循环 (56)
- python串口编程 (60)
- python写入txt (51)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python qt (52)
- python人脸识别 (54)
- python斐波那契数列 (51)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- centos7安装python (53)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)