066 Python语法之uuid

Python3 uuid

import uuid
 
# uuid1()
>>> print(uuid.uuid1())
2cf0fa7e-48d9-11e6-93fb-c03fd53413ef

# uuid3()
>>> print(uuid.uuid3(uuid.NAMESPACE_DNS, 'test'))
45a113ac-c7f2-30b0-90a5-a399ab912716

# uuid4()
>>> print(uuid.uuid4())
08bffbb6-05e1-41c1-8989-6aa07a4a5e5d

# uuid5()
>>> print(uuid.uuid5(uuid.NAMESPACE_DNS, 'test'))
4be0643f-1d98-573b-97cd-ca98a65347dd

使用经验

  1. Python中没有基于DCE的,uuid2可以忽略

  2. uuid4基于随机数存在概率性重复,不推荐使用

  3. 对时间精确,并且是分布式计算可用uuid1

  4. 若有名字的唯一性要求,最好使用uuid3或uuid5

命名空间(不同的值)

  1. NAMESPACE_DNS

  2. NAMESPACE_URL

  3. NAMESPACE_OID

  4. NAMESPACE_X500

介绍

  1. uuid1()---基于时间戳和主机id

  2. 基于分布式计算环境DCE(python中没有这个函数)

  3. uuid3()---基于名字和MD5散列值

  4. uuid4()---基于随机数

  5. uuid5()---基于名字的SHA-1散列值

总结

  1. 如果实在要求唯一,可以经过时间戳uuid1得到一个uuid,之后再拼接上当前时间戳进行一次基于uuid3的计算,这样的值就近乎于唯一了

你可能感兴趣的:(066 Python语法之uuid)