UUID变体何时才是整数?

时间:2016-10-07 02:37:03

标签: python uuid

documentation on the uuid module说:

  

UUID. variant

     

UUID变体,用于确定内部变量   UUID的布局。这将是整数常量之一   RESERVED_NCS,   RFC_4122,   RESERVED_MICROSOFT,   要么   RESERVED_FUTURE

后来:

  

uuid. RESERVED_NCS

     

保留NCS兼容性。

     

uuid. RFC_4122

     

指定RFC 4122中给出的UUID布局。

     

uuid. RESERVED_MICROSOFT

     

保留Microsoft兼容性。

     

uuid. RESERVED_FUTURE

     

保留供将来定义。

鉴于此,我希望在访问这些属性时能看到整数。但是:

>>> import uuid
>>> u = uuid.uuid4()
>>> u.variant
'specified in RFC 4122'
>>> uuid.RESERVED_NCS
'reserved for NCS compatibility'
>>> uuid.RFC_4122
'specified in RFC 4122'
>>> uuid.RESERVED_MICROSOFT
'reserved for Microsoft compatibility'
>>> uuid.RESERVED_FUTURE
'reserved for future definition'

这在2.7.9和3.4.2中产生相同的结果,并且我没有找到任何表明这些常量可能是字符串的版本的文档。

我在此问题上可能产生的最相关的搜索结果恰好是此模块的源代码(在SVNGitHub上),其中包含以下声明:

RESERVED_NCS, RFC_4122, RESERVED_MICROSOFT, RESERVED_FUTURE = [
    'reserved for NCS compatibility', 'specified in RFC 4122',
    'reserved for Microsoft compatibility', 'reserved for future definition']

鉴于我在翻译中看到的结果,这很有道理,但我不能对文档说同样的内容。

这是一个简单的文档错误,还是存在这些属性确实是整数的地方,正如文档所承诺的那样?这是怎么回事?

1 个答案:

答案 0 :(得分:2)

这是文档中的错误。我在official bug tracker中提交了它,并通过删除单词"整数"来修复它:

  

我只是删除了类型描述,因为我认为常量的类型在这里并不重要。