Python 中如何生成唯一 ID
使用 uuid.uuid4()
方法生成唯一 ID,例如 unique_id = uuid.uuid4()
。 uuid 内置模块实现了一个 uuid4()
方法,该方法生成并返回一个随机 ID。
import uuid
print(uuid.uuid4()) # ?️ 730ed4ba-d703-4cdf-8b30-f8399352fabb
print(uuid.uuid4().int) # ?️ 136047018022410445780946091752650147825
print(uuid.uuid4().bytes) # ?️ b'*\xe1h**\xceC\x87\xae\x8e\x1d\x81zX\x1c\xef'
print(uuid.uuid4().hex) # ?️ 4fa066987b2c4507a949a94c1fb43f50
我们使用 uuid.uuid4
方法生成随机 ID。
import uuid
print(uuid.uuid4()) # ?️ 730ed4ba-d703-4cdf-8b30-f8399352fabb
print(uuid.uuid4()) # ?️ 81fd808b-76a0-4ebf-9096-f45d6f7d495a
print(uuid.uuid4()) # ?️ 753237da-bb2e-460a-88bb-329cc1dc5fe4
内置的 uuid
模块提供了不可变的 UUID 对象和用于生成 UUID 的函数。
如果我们只需要一个唯一 ID,则应使用
uuid4()
方法。
我们可以将唯一 ID 传递给 str()
类,以将 UUID 转换为标准格式的十六进制数字字符串。
import uuid
unique_id = uuid.uuid4()
print(unique_id) # ?️ 011963c3-7fa3-4963-8599-a302f9aefe7d
print(type(unique_id)) # ?️ <class 'uuid.UUID'>
unique_id_str = str(unique_id)
print(unique_id_str) # ?️ 011963c3-7fa3-4963-8599-a302f9aefe7d
print(type(unique_id_str)) # ?️ <class 'str'>
我们可以访问 UUID 对象的 bytes
属性以获取 UUID 的原始 16 字节。
import uuid
unique_id_bytes = uuid.uuid4().bytes
print(unique_id_bytes) # ?️ b'\x9e\xfb\xf4Ma\xc1I\xcc\xa0[2\\\xb6\xe9\x06\x9f'
# ?️ generate UUID from 16-byte string
result = uuid.UUID(bytes=unique_id_bytes)
print(result) # ?️ 9efbf44d-61c1-49cc-a05b-325cb6e9069f
UUID 对象的 int 属性将 UUID 作为 128 位整数返回。
import uuid
unique_id_int = uuid.uuid4().int
print(unique_id_int) # ?️ 49084253960468019865244738914988538494
对象的 hex 属性将 UUID 作为 32 个字符的小写十六进制字符串返回。
import uuid
unique_id_int = uuid.uuid4().hex
print(unique_id_int) # ?️ c56fb2e760fb4d3ba6c426c00c602a55
如果我们只需要一个随机 ID,请使用 uuid.uuid4()
方法。
import uuid
random_unique_id = uuid.uuid4()
print(random_unique_id) # ?️ 1fafff7f-6248-41f0-8b28-1e28bb12962b
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。