2016-10-07 1 views
4

documentation on the uuid module 말한다 :UUID 변형은 언제 정수가됩니까?

UUID.variant

UUID를 내부 레이아웃을 결정 UUID 변이체. 이것은 정수 상수 RESERVED_NCS 중 하나 RFC_4122, RESERVED_MICROSOFT, 또는 RESERVED_FUTURE 될 것입니다.

이상 : NCS 호환성을 위해 예약

uuid.RESERVED_NCS

.

uuid.RFC_4122

RFC 4122에 주어진 UUID 레이아웃을 지정합니다. RESERVED_MICROSOFT

uuid.는 마이크로 소프트의 호환성을 위해 예약되어 있습니다.

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에서 동일한 결과를 생성하고, 나는이 상수 문자열이 될 수 있음을 시사 모든 버전에 대한 문서를 발견하지 않았습니다. 결과를 감안할 때

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

:이 문제에 생산할 수있는 가장 중요한 검색 결과는이 문을 포함 (SVN 또는 GitHub)에이 모듈에 대한 소스 코드, 될 일이

나는 통역사에서 이것을 보았는데 이것은 완벽하게 이해할 수 있지만 문서에 대해서도 똑같이 말할 수는 없다.

간단한 설명서 버그입니까? 아니면 설명서에서 약속 한 바와 같이 이러한 속성이 실제로 정수가 될 곳이 있습니까? 무슨 일 이니?

+0

설명서를 업데이트하지 않고서도 정수가 정수에서 문자열로 변경되었다고 추측 할 수 있습니다. 나의 Mercurial 기술은 오늘 밤 그것을 확인하는 것에 아주 달랐다. – chepner

+1

@chepner - GitHub을 보면 [2006 년 8 월 21 일 커밋] (https://github.com/python/cpython/commit/a9c343d0c354e0aa41674f5c84a5dc28241c7a0c)에는 [uuid.py] (https://github.com/python /cpython/blob/a9c343d0c354e0aa41674f5c84a5dc28241c7a0c/Lib/uuid.py)를 오늘 가지고있는 변종 문자열 상수의 목록과 비교하면, 그 repo는 더 이상 되돌아 가지 않습니다. – TigerhawkT3

+2

Github의 Python 2.5 브랜치의 원래 모습은 문서 버그 인 것 같습니다. 항상 이런 식이었습니다. 이 추적기에 추적기에 버그를 신고 했습니까? –

답변

2

이것은 설명서의 버그입니다.나는 official bug tracker에 등을 제출, 그것은 단어 "정수"를 제거하여 해결되었습니다

단순히 유형의 설명을 제거 내가 상수의 종류 중요하지 않습니다 여기에 생각하기 때문이다.

관련 문제