百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

提供了与时间相关的函数和方法。

  1. datetime.datetime
  • 说明:表示一个具体的日期和时间,结合了日期和时间的信息。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt) # 输出:2024-10-11 12:30:00
  1. datetime.date
  • 说明:表示一个具体的日期。示例代码:from datetime import date
    d = date(2024, 10, 11)
    print(d) # 输出:2024-10-11
  1. datetime.time
  • 说明:表示一个具体的时间。示例代码:from datetime import time
    t = time(12, 30, 0)
    print(t) # 输出:12:30:00
  1. datetime.timedelta
  • 说明:表示两个日期或时间之间的时间差。示例代码:from datetime import timedelta
    delta = timedelta(days=5, hours=3)
    print(delta) # 输出:5 days, 3:00:00
  1. datetime.tzinfo
  • 说明:抽象基类,用于表示时区信息。
  1. datetime.timezone
  • 说明:具体实现的tzinfo子类,用于表示固定的UTC偏移量。示例代码:from datetime import timezone, timedelta
    tz = timezone(timedelta(hours=8))
    print(tz) # 输出:datetime.timezone(datetime.timedelta(seconds=28800))
  1. time
  • 说明:提供了与时间相关的函数和方法。

二、datetime 类



构造方法

  1. 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 标准的字符串。

  1. today()
  • 说明:返回当前本地日期和时间,tzinfo为None。示例代码:from datetime import datetime
    dt_today = datetime.today()
    print(dt_today) # 输出:当前的日期和时间
  1. now(tz=None)
  • 说明:返回当前本地日期和时间,可指定时区。示例代码:from datetime import datetime
    dt_now = datetime.now()
    print(dt_now) # 输出:当前的日期和时间
  1. utcnow()
  • 说明:获取当前国际标准时间(UTC)的日期和时间。示例代码:from datetime import datetime
    dt_utcnow = datetime.utcnow()
    print(dt_utcnow) # 输出:当前的 UTC 日期和时间
  1. fromtimestamp(timestamp, tz=None)
  • 说明:从时间戳创建一个datetime对象。示例代码:from datetime import datetime
    import time
    timestamp = time.time()
    dt_fromtimestamp = datetime.fromtimestamp(timestamp)
    print(dt_fromtimestamp) # 输出:从时间戳转换的日期和时间
  1. 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
  1. astimezone(tz)
  • 说明:将datetime对象转换为指定时区。示例代码:from datetime import datetime, timezone
    dt = datetime.now()
    tz = timezone(timedelta(hours=8))
    dt_astimezone = dt.astimezone(tz)
    print(dt_astimezone) # 输出:转换为指定时区的日期和时间
  1. 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
  1. 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
  1. 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
  1. 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

表示是否处于夏令时。

  1. year
  • 说明:年份。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.year) # 输出:2024
  1. month
  • 说明:月份。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.month) # 输出:10
  1. day
  • 说明:日期。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.day) # 输出:11
  1. hour
  • 说明:小时。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.hour) # 输出:12
  1. minute
  • 说明:分钟。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.minute) # 输出:30
  1. second
  • 说明:秒。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0)
    print(dt.second) # 输出:0
  1. microsecond
  • 说明:微秒。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0, 123456)
    print(dt.microsecond) # 输出:123456
  1. 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))
  1. fold
  • 说明:表示是否处于夏令时。示例代码:from datetime import datetime
    dt = datetime(2024, 10, 11, 12, 30, 0, fold=1)
    print(dt.fold) # 输出:1

三、date 类

构造方法

  1. 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 标准的字符串。

  1. today()
  • 说明:获取当前日期,tzinfo为None。示例代码:from datetime import date
    d_today = date.today()
    print(d_today) # 输出:当前的日期
  1. fromtimestamp(timestamp)
  • 说明:从时间戳创建一个date对象。示例代码:from datetime import date
    import time
    timestamp = time.time()
    d_fromtimestamp = date.fromtimestamp(timestamp)
    print(d_fromtimestamp) # 输出:从时间戳转换的日期
  1. 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
  1. 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
  1. 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

日期。

  1. year
  • 说明:年份。示例代码:from datetime import date
    d = date(2024, 10, 11)
    print(d.year) # 输出:2024
  1. month
  • 说明:月份。示例代码:from datetime import date
    d = date(2024, 10, 11)
    print(d.month) # 输出:10
  1. day
  • 说明:日期。示例代码:from datetime import date
    d = date(2024, 10, 11)
    print(d.day) # 输出:11

四、time 类

构造方法

  1. 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 标准的字符串。

  1. 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
  1. 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
  1. 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

表示是否处于夏令时。

  1. hour
  • 说明:小时。示例代码:from datetime import time
    t = time(12, 30, 0)
    print(t.hour) # 输出:12
  1. minute
  • 说明:分钟。示例代码:from datetime import time
    t = time(12, 30, 0)
    print(t.minute) # 输出:30
  1. second
  • 说明:秒。示例代码:from datetime import time
    t = time(12, 30, 0)
    print(t.second) # 输出:0
  1. microsecond
  • 说明:微秒。示例代码:from datetime import time
    t = time(12, 30, 0, 123456)
    print(t.microsecond) # 输出:123456
  1. 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))
  1. fold
  • 说明:表示是否处于夏令时。示例代码:from datetime import time
    t = time(12, 30, 0, fold=1)
    print(t.fold) # 输出:1

五、timedelta 类

构造方法

  1. 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()

获取时间差的总秒数。

  1. 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)

返回夏令时偏移量。

  1. 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
  1. 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
  1. 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 类

构造方法

  1. 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)

处理时间转换。

  1. utcoffset(dt)
  • 说明:返回固定偏移量。示例代码:from datetime import timezone, timedelta
    tz = timezone(timedelta(hours=8))
    print(tz.utcoffset(None)) # 输出:8:00:00
  1. 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)

暂停当前线程指定秒数。

  1. time()
  • 说明:返回当前时间戳(浮点数)。示例代码:import time
    print(time.time()) # 输出:1697040600.123456
  1. time_ns()
  • 说明:返回当前时间戳(纳秒为单位的整数)。示例代码:import time
    print(time.time_ns()) # 输出:1697040600123456000
  1. monotonic()
  • 说明:返回单调递增的时间(不受系统时间调整影响)。示例代码:import time
    start = time.monotonic()
    # 执行操作...
    end = time.monotonic()
    print(f"耗时:{end - start}秒") # 输出:耗时:...
  1. perf_counter()
  • 说明:高精度计时器,包含休眠时间。示例代码:import time
    start = time.perf_counter()
    # 执行操作...
    end = time.perf_counter()
    print(f"耗时:{end - start}秒") # 输出:耗时:...
  1. process_time()
  • 说明:返回当前进程的系统和用户 CPU 时间总和。示例代码:import time
    cpu_time = time.process_time()
    print(cpu_time) # 输出:...
  1. thread_time()
  • 说明:返回当前线程的 CPU 时间。示例代码:import time
    thread_time = time.thread_time()
    print(thread_time) # 输出:...
  1. gmtime([secs])
  • 说明:将时间戳转换为 UTC 时间的struct_time。示例代码:import time
    utc_time = time.gmtime(1697040600)
    print(utc_time) # 输出:struct_time对象
  1. localtime([secs])
  • 说明:将时间戳转换为本地时间的struct_time。示例代码:import time
    local_time = time.localtime(1697040600)
    print(local_time) # 输出:struct_time对象
  1. mktime(t)
  • 说明:将struct_time(本地时间)转换为时间戳。示例代码:import time
    t = time.localtime(1697040600)
    timestamp = time.mktime(t)
    print(timestamp) # 输出:1697040600.0
  1. ctime([secs])
  • 说明:将时间戳转换为可读字符串。示例代码:import time
    print(time.ctime(1697040600)) # 输出:Fri Oct 11 20:30:00 2024
  1. asctime([t])
  • 说明:将struct_time转换为可读字符串。示例代码:import time
    t = time.localtime(1697040600)
    print(time.asctime(t)) # 输出:Fri Oct 11 20:30:00 2024
  1. 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
  1. 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对象
  1. sleep(secs)
  • 说明:暂停当前线程指定秒数。示例代码:import time
    time.sleep(2.5) # 暂停 2.5 秒

属性

序号

属性名

说明

1

timezone

本地时区偏移(秒,UTC 西区时区为正,东区为负)。

2

altzone

启用夏令时时,时区的替代偏移(秒)。

3

daylight

非零表示本地时区启用夏令时。

4

tzname

包含两个字符串的元组:本地时区名称和非夏令时名称。

  1. timezone
  • 说明:本地时区偏移(秒,UTC 西区时区为正,东区为负)。示例代码:import time
    print(time.timezone) # 输出:-28800
  1. altzone
  • 说明:启用夏令时时,时区的替代偏移(秒)。示例代码:import time
    print(time.altzone) # 输出:-28800
  1. daylight
  • 说明:非零表示本地时区启用夏令时。示例代码:import time
    print(time.daylight) # 输出:1
  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

夏令时标志

  1. tm_year → 年份
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_year) # 输出:2024
  1. tm_mon → 月份(1-12)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_mon) # 输出:10
  1. tm_mday → 日期(当月第几天)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_mday) # 输出:11
  1. tm_hour → 小时(0-23)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_hour) # 输出:20
  1. tm_min → 分钟(0-59)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_min) # 输出:30
  1. tm_sec → 秒(0-61)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_sec) # 输出:0
  1. tm_wday → 星期几(0-6)
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_wday) # 输出:4
  1. tm_yday → 一年中的第几天
  • 示例代码:import time
    t = time.localtime(1697040600)
    print(t.tm_yday) # 输出:284
  1. 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)

返回一个元组,包含该月第一天是星期几和该月的天数。

  1. month(year, month)
  • 说明:返回指定年份和月份的日历字符串。示例代码:import calendar
    cal = calendar.month(2024, 10)
    print(cal)
  1. calendar(year)
  • 说明:返回指定年份的日历字符串。示例代码:import calendar
    cal = calendar.calendar(2024)
    print(cal)
  1. isleap(year)
  • 说明:判断指定年份是否为闰年。示例代码:import calendar
    is_leap = calendar.isleap(2024)
    print(is_leap) # 输出:True
  1. monthrange(year, month)
  • 说明:返回一个元组,包含该月第一天是星期几和该月的天数。示例代码:import calendar
    first_day, num_days = calendar.monthrange(2024, 10)
    print(f"该月第一天是星期 {first_day},该月有 {num_days} 天")

属性

序号

属性名

说明

1

firstweekday

设置每周的第一天(0=周一,6=周日)。

  1. firstweekday
  • 说明:设置每周的第一天(0=周一,6=周日)。示例代码:import calendar
    calendar.firstweekday = 6 # 设置每周的第一天为星期日

十一、注意事项

  • 时间精度:time() 在 Unix 系统精度通常为微秒,Windows 为毫秒。
  • 时区处理:建议结合 datetime 模块处理复杂时区问题。
  • 单调时间:长时间测量推荐使用 monotonic() 或 perf_counter(),避免系统时间调整影响。

相关推荐

独家 | 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...

取消回复欢迎 发表评论: