[Python] 利用uuid模組創建唯一ID

Python的uuid模塊提供不可變的UUID對象和生成各種版本UUID的功能。UUID代表全球唯一標識符,用於生成可以在不同系統之間使用的唯一ID。

Python中的uuid模塊

uuid1()

此功能基於主機的MAC地址和當前時間生成UUID。

python
import uuid

# 使用uuid1()生成UUID
result = uuid.uuid1()
print(result)
35c8204e-1d15-11ea-a5f1-0800200c9a66

uuid3()

使用uuid3()方法,可以基於名稱空間和名稱的MD5雜湊生成UUID。

python
namespace = uuid.NAMESPACE_DNS
name = "example.com"

# 使用uuid3()生成UUID
result = uuid.uuid3(namespace, name)
print(result)
6fa459ea-ee8a-3ca4-894e-db77e160355e

uuid4()

uuid4()方法可創建隨機UUID,如下所示。

python
# 使用uuid4()生成UUID
result = uuid.uuid4()
print(result)
f50ec0b7-f960-400d-91f0-c42a6d44e3d7

uuid5()

uuid3()類似,uuid5()方法可基於名稱空間和名稱的SHA-1雜湊生成UUID。

python
namespace = uuid.NAMESPACE_DNS
name = "example.com"

# 使用uuid5()生成UUID
result = uuid.uuid5(namespace, name)
print(result)
c74a196f-f19d-5ea9-bffd-a2742432fc9c

全球唯一標識符對於確保跨系統物件的唯一性至關重要。Python的uuid模塊提供了一種簡單明了的方式,使用像uuid1()uuid3()uuid4()uuid5()這樣的函數生成不同類型的UUID。


FAQs

  1. uuid3()和uuid5()的主要區別是什麼? uuid3()使用MD5雜湊,而uuid5()使用SHA-1雜湊。
  2. uuid4()是基於任何系統參數嗎? 否,uuid4()生成隨機UUID。
  3. uuid1()功能可以在沒有主機的MAC地址的情況下使用嗎? 是的,如果MAC地址不可用,將使用隨機值。
  4. 使用uuid模塊創建的UUID是否保證是唯一的? 雖然碰撞的可能性非常低,但不是零。
  5. 我如何將UUID轉換為字符串? 您可以使用str()函數將UUID對象轉換為字符串。
© Copyright 2023 CLONE CODING