UUID
信息
UUID 是一个 "通用唯一标识符".
它是一种标准的标识符格式,类似于护照号码,但适用于任何事物,而不仅仅是国家的人。
它们看起来像这样
d48edaa6-871a-4082-a196-4daab372d4a1
它们的生成方式使其足够长且随机,您可以假设生成的每个 UUID 都是唯一的。即使它是通过不同的应用程序、数据库或系统生成的。
因此,如果您的系统使用 UUID 来标识您的数据,您可以将其与其他也使用 UUID 的系统的某些数据混合,并有信心他们的 ID(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.