Python で GUID/UUID を生成する

Vaibhav Vaibhav 2023年10月10日
Python で GUID/UUID を生成する

UUID は、エンティティまたは情報を一意に定義するためにコンピュータシステムで使用される 128 ビットの数値です。UUID は UniversallyUniqueIdentifier の略です。Microsoft によって作成されたソフトウェアでは、UUID はグローバル一意識別子または GUID と見なされます。

UUID は、システムのタイムスタンプとワークステーションの一意のプロパティの 2つの量に基づいています。この一意のプロパティは、システムの IP(インターネットプロトコル)アドレスまたは MAC(メディアアクセス制御)アドレスである可能性があります。

UUID/GUID は本質的に一意です。この特性により、ソフトウェア開発やキーのデータベースで広く使用されています。

Python で UUID/GUID を生成する

Python を使用して UUID/GUID を生成するには、Python のビルド内パッケージ uuid を使用します。

import uuid

myUUID = uuid.uuid4()
print(f"UUID/GUID -> {myUUID}")

出力:

UUID/GUID -> XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

上記のコードでは、uuid4() メソッドがランダムな UUID を生成します。この関数によって返される UUID は、タイプ uuid.UUID です。出力では、XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX の代わりに、プログラムは英数字の文字列を出力します。

このコマンドを実行することで確認できます-print(type(uuid.uuid4()))。次のように出力されます-<class 'uuid.UUID'>

返された UUID はいつでも文字列に変換できます。そのためには、次のコードを参照してください。

import uuid

myUUID = uuid.uuid4()
print(type(myUUID))
print(myUUID)
myUUIDString = str(myUUID)
print(type(myUUIDString))
print(myUUIDString)

出力:

<class 'uuid.UUID'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
<class 'str'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

マシンの現在時刻とホスト ID に基づいて UUID を生成する場合は、次のコードブロックを使用します。

import uuid

myUUID = uuid.uuid1()
print(f"UUID/GUID based on Host ID and Current Time -> {myUUID}")

出力:

UUID/GUID based on Host ID and Current Time -> 
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

uuid の詳細については、公式ドキュメントを参照してください。

著者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.