2017-08-06 1 views

Répondre

1

Il écrit fondamentalement le uuid sans les hypens. Par exemple, si cela était comment je suis arrivé un UUID, je pourrais fournir les représentations suivantes

>>> value = uuid.uuid4() 
>>> value 
UUID('aa56cc68-01ca-49c6-a0dc-4f7104a9ee83') 
>>> print(value) 
aa56cc68-01ca-49c6-a0dc-4f7104a9ee83 
>>> value.int 
226419442665111776416141721028184895107 
>>> "%.32x" % value.int 
'aa56cc6801ca49c6a0dc4f7104a9ee83' 

Nous pouvons voir que les deux __str__ et __repr__ produisent des représentations de l'UUID dans l'hexagone, mais rejoint par des traits d'union. La valeur int est en décimal, donc cette fonction fournit les représentations hexadécimales, mais sans les traits d'union.

+0

Merci beaucoup! Comment pourrais-je accomplir la même chose sans l'ancien style de formatage de chaîne? – R3turnz

+0

Une fois que vous avez un objet 'UUID' vous pouvez simplement utiliser' value.hex' il produira le même résultat – CoryKramer

1

Cela signifie que l'UUID est composé de données binaires qui ne sont pas directement imprimables. Donc, pour pouvoir le manipuler comme une chaîne, il est converti en une chaîne de caractères hexadécimaux (0 - 9, a - f). Chaque 2 caractères représentent un octet de données.