Innan vi fortsätter och beskriver hur vi kan använda Python för att skapa en universellt unik identifierare (UUID), kan man fråga, vad är UUID ändå? Så, låt oss börja med att definiera vad vi menar med en UUID och varför vi använder den.
UUID är i grunden ett 16-byte (128-bitars) nummer som brukade användas unikt identifiera ett objekt (data). Detta nummer består av 32 hexadecimala siffror som visas i fem grupper och separeras av bindestreck. För att se hur en UUID kan se ut, här är ett exempel:
022db29c-d0e2-11e5-bb4c-60f81dca7676
Målet att använda en sådan identifierare är att garantera att vi inte har liknande identifierare, eller åtminstone garantera att en identifierare skiljer sig från alla UUID-genererade till 3400 A.D.!
Sådan unikhet uppnås genom att kombinera olika komponenter tillsammans som skulle garantera att UUIDs är olika. Identifieraren i detta fall kommer att bestå av maskinens nätverksadress, en tidsstämpel och en slumpmässigt genererad komponent.
Således kan vi säga att en UUID anses vara en algoritm som används för att skapa en unik sträng av speciellt format som består av olika komponenter som säkerställer identiteten hos identifieraren.
Låt oss nu komma till den roliga delen, hur man skapar en UUID i python. För att göra det måste vi använda Pythons uuid-modul. Du behöver inte installera någonting just nu, eftersom den här modulen levereras med din Python-distribution. Allt du behöver göra för att använda modulen är att importera den direkt från ditt skript. Innan det, låt mig visa dig hur Pythons dokumentation beskriver den här modulen:
Denna modul ger oföränderligaUUID
objekt (theUUID
klass) och funktionernauuid1 ()
,uuid3 ()
,uuid4 ()
,uuid5 ()
för att generera version 1, 3, 4 och 5 UUID som anges i RFC 4122.
Tja, gissa vad? Som vi lärde oss i mjuk uppdateringsserie, Python strävar efter att göra saker enkelt, och att skapa en UUID är inte annorlunda. Här har du!
importera uuid-utskrift uuid.uuid4 ()
Ja det är det! Det här är allt du behöver för att skapa en UUID i Python. På min maskin fick jag följande utmatning:
b77eafed-69ab-422d-8448-1ec1f0a2eb8c
Hur många hexadecimala siffror kan du se?
Tror du inte Python försöker göra våra liv enklare?!