找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5025

积分

1

好友

696

主题
发表于 9 小时前 | 查看: 3| 回复: 0

datetime 和 random 是 Python 中两个非常强大且常用的内置模块,分别用于处理日期时间和生成随机数。你是否遇到过需要处理复杂日期计算,或者生成随机测试数据的场景?这两个模块就是你的得力助手。

📅 datetime 模块

datetime 模块是 Python 处理日期和时间问题的利器,提供了 datetimedatetimetimedelta 等核心类,可以满足从获取当前时间到复杂时间计算的各种需求。

获取当前日期和时间

你可以使用 datetime.now() 来获取当前的日期和时间,或使用 date.today() 来获取当前日期。

from datetime import datetime, date

# 获取当前日期和时间
now = datetime.now()
print("当前日期和时间:", now)

# 获取当前日期
today = date.today()
print("当前日期:", today)

日期时间的运算

timedelta 类用于表示两个时间点之间的时间差,可以用来进行日期的加减运算,非常直观。

from datetime import datetime, timedelta

# 获取当前时间
now = datetime.now()

# 计算3天后的日期
future_date = now + timedelta(days=3)
print("三天后:", future_date)

# 计算两个时间点的差值
time_diff = future_date - now
print("时间差 (秒):", time_diff.total_seconds())

格式化与转换

strftimestrptime 方法可以实现 datetime 对象与字符串之间的相互转换,这是数据存储和展示的常见需求。

from datetime import datetime

# 将 datetime 对象格式化为字符串
now = datetime.now()
formatted_date = now.strftime("%Y年%m月%d日 %H:%M")
print("格式化后:", formatted_date)

# 将字符串解析为 datetime 对象
date_str = "2026-01-01"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d")
print("解析后:", parsed_date)

🎲 random 模块

random 模块用于生成伪随机数,提供了生成随机整数、浮点数以及从序列中随机选择或打乱元素等功能,在模拟、测试、游戏开发中应用广泛。

生成随机数

random 模块可以生成指定范围内的随机整数和浮点数,需要注意不同函数对范围端点的包含关系。

import random

# 生成一个 [0.0, 1.0) 之间的随机浮点数
print("随机浮点数:", random.random())

# 生成一个 [1, 10] 范围内的随机整数 (包含1和10)
print("随机整数:", random.randint(1, 10))

# 生成一个 [1, 10) 范围内的随机整数 (包含1, 不包含10)
print("随机整数:", random.randrange(1, 10))

随机选择与打乱

你可以使用 choicechoicessampleshuffle 等方法对列表等序列进行随机操作,实现抽奖、数据采样等功能。

import random

fruits = ['apple', 'banana', 'cherry']

# 从列表中随机选择一个元素
print("随机选择:", random.choice(fruits))

# 从列表中随机选择两个元素 (结果可能重复)
print("随机选择 (可重复):", random.choices(fruits, k=2))

# 从列表中随机选择两个不重复的元素
print("随机选择 (不重复):", random.sample(fruits, k=2))

# 打乱列表顺序 (原地修改)
random.shuffle(fruits)
print("打乱后:", fruits)

设置随机种子

通过 random.seed() 设置种子,可以确保每次生成的随机数序列是相同的。这在调试和复现实验结果时非常有用,能保证程序行为的一致性。

import random

# 设置随机种子
random.seed(42)
print(random.random()) # 每次运行结果都相同

random.seed(42)
print(random.random()) # 与上一次结果相同

以上就是 Python 中 datetimerandom 两个内置核心模块的基础用法。熟练掌握它们,能让你在日常开发中更加游刃有余地处理时间与随机性问题。如果你想深入探讨更多 Python 开发技巧或系统设计知识,欢迎来 云栈社区 与大家交流。




上一篇:Obsidian创始故事:3人团队如何打造估值3.5亿的笔记软件神话
下一篇:谷歌宣布:2026年9月起,Wear OS应用必须支持64位版本
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-7 13:46 , Processed in 0.720595 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表