UUID
情報
UUID は "Universally Unique Identifier" です。
これは、パスポート番号のような識別子のための標準形式ですが、各国の人だけでなく、あらゆるものの識別子です。
これらは次のように見えます
d48edaa6-871a-4082-a196-4daab372d4a1
作成方法により、生成される UUID は十分に長く、ランダムであるため、生成されたすべての UUID が一意であると想定できます。それが別のアプリケーション、データベース、またはシステムによって生成されたとしてもです。
そのため、システムが UUID を使用してデータを識別する場合、他のシステムが UUID を使用してデータを識別した場合に、データが衝突しないという少しの自信を持ってそれらのシステムのデータと混在できます。
ほとんどのデータベースがそうであるように、識別子として int
のみを使用した場合、これは真実ではありません。
CLI パラメータ を UUID として宣言できます
from uuid import UUID
import typer
def main(user_id: UUID):
print(f"USER_ID is {user_id}")
print(f"UUID version is: {user_id.version}")
if __name__ == "__main__":
typer.run(main)
Python コードは、すべての属性とメソッドを持つ標準の Python UUID
オブジェクトを受け取ります。また、関数パラメータをその型で注釈付けするため、型チェック、エディターでのオートコンプリートなどを利用できます。
チェックします
// Pass a valid UUID v4
$ python main.py d48edaa6-871a-4082-a196-4daab372d4a1
USER_ID is d48edaa6-871a-4082-a196-4daab372d4a1
UUID version is: 4
// An invalid value
$ python main.py 7479706572-72756c6573
Usage: main.py [OPTIONS] USER_ID
Try "main.py --help" for help.
Error: Invalid value for 'USER_ID': 7479706572-72756c6573 is not a valid UUID.