Python Glossary English

Python 3.14+uuidфункция

uuid.uuid7()

генерация UUID

UUID версии 7: миллисекунды Unix-времени в начале и случайные биты дальше. Сортируется по времени создания — хороший первичный ключ. Появился в 3.14.

Синтаксис

uuid.uuid7()

Главное отличие от uuid4(): новые значения растут, поэтому вставки в индекс базы идут в конец, а не вразброс. MAC не содержит, но время создания из него читается (атрибут time — миллисекунды Unix), так что для публичных ссылок, где момент создания — секрет, он не годится. Последовательные вызовы в одном процессе растут строго даже в пределах миллисекунды: порядок держит счётчик.

Примеры

import uuid
ids = [uuid.uuid7() for _ in range(5)]
print(ids[0])  # → ? 0199b8e2-4a1b-7c3d-8e4f-5a6b7c8d9e0f — зависит от времени
print(ids == sorted(ids))  # → True
print(ids[0].version, len(str(ids[0])))  # → 7 36
import time, uuid
u = uuid.uuid7()
print(abs(u.time - time.time_ns() // 10**6) < 1000)  # → True — мс Unix

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности