Python 生成 UUID 主要用标准库 uuid 模块,最常用 uuid.uuid4() 生成高安全性随机 UUID;还支持 uuid1(时间+MAC)、uuid3/uuid5(哈希确定性 ID);可转字符串、去横线、校验还原,勿手动拼接。
Python 生成 UUID 很简单,主要用标准库 uuid 模块,无需安装额外包。
最常用的是 uuid.uuid4(),它基于随机数生成,安全性高、碰撞概率极低,适合大多数场景(如数据库主键、会话 ID)。
uuid.UUID 对象,可直接使用或转为字符串示例:
import uuid
字符串形式根据需求可选不同生成方式:
uuid.uuid1():基于时间戳 + 主机 MAC 地址,唯一性强但可能暴露生成时间和机器信息uuid.uuid3(namespace, name):用 MD5 哈希生成确定性 UUID,相同命名空间和名字总得同一结果(适合从字符串稳定派生 ID)uuid.uuid5(namespace, name):类似 uuid3,但用 SHA-1,更安全,推荐用于需确定性的场景示例(uuid5):
import uuiduid.hex 或 str(uid).replace("-", "")
str(uuid.uuid4())
uid.version 返回整数(如 4),uid.variant 查变体类型uuid.UUID("550e8400-e29b-41d4-a716-446655440000"),自动校验格式避免手动拼接或用 random + 字符串模拟 UUID——不符合标准、无版本信息、无法被其他系统识别,也失去 UUID 库内置的校验和兼容性保障。