Python Glossary English

все Python 3uuidпонятие

uuid.UUID

класс UUID

Класс 128-битного уникального идентификатора. Создаётся из строки, байтов или числа; str() даёт привычный вид из 36 знаков с дефисами.

Синтаксис

uuid.UUID(hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None)

UUID — не строка: uuid.UUID(s) == s даёт False, а json.dumps() падает с TypeError, поэтому при сравнении и сохранении явно пишут str(u) или u.hex. Конструктор прощает фигурные скобки, верхний регистр и префикс urn:uuid:, но на мусоре даёт ValueError — так строку и проверяют на корректность. version осмыслен только для варианта RFC 4122, иначе он None.

Примеры

import uuid
u = uuid.UUID('{6FA459EA-EE8A-3CA4-894E-DB77E160355E}')
print(u)  # → 6fa459ea-ee8a-3ca4-894e-db77e160355e
print(u.version, u == str(u), str(u) == '6fa459ea-ee8a-3ca4-894e-db77e160355e')  # → 3 False True
import uuid
try:
    uuid.UUID('xyz')
except ValueError as e:
    print(e)  # → badly formed hexadecimal UUID string
import json, uuid
u = uuid.UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
print(json.dumps({'id': str(u)}))  # → {"id": "6fa459ea-ee8a-3ca4-894e-db77e160355e"}

См. также

Частые ошибки

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