Python Glossary English

Python 3.7+uuidпонятие

uuid.SafeUUID

класс UUID

Перечисление из трёх значений (safe, unsafe, unknown) в атрибуте is_safe: гарантировала ли система уникальность UUID при параллельных процессах.

Синтаксис

uuid.SafeUUID.safe | uuid.SafeUUID.unsafe | uuid.SafeUUID.unknown

Заполняет его только uuid1(), когда системная библиотека умеет выдавать UUID без гонок между процессами: у uuid4(), uuid6(), uuid7() и прочих is_safe всегда SafeUUID.unknown, и это не тревожный знак. Значение зависит от ОС и библиотек, так что unsafe на одной машине и safe на другой — норма. У unknown значение None, поэтому if u.is_safe.value: не отличит unknown от safe с его нулём — сравнивают с членом перечисления.

Примеры

import uuid
print(list(uuid.SafeUUID))  # → [<SafeUUID.safe: 0>, <SafeUUID.unsafe: -1>, <SafeUUID.unknown: None>]
print(uuid.uuid4().is_safe)  # → SafeUUID.unknown
print(uuid.uuid1().is_safe)  # → ? SafeUUID.unsafe — зависит от ОС

См. также

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