pythonで一意なIDを自動生成する
トップページ> "> 開発 "> Python

pythonで一意なIDを自動生成する

 データベースにデータを格納したいときなんかに、他と重ならない(ユニークな)IDを作りたいことが多々あるだろう。

 作り方は色々あるようなのだが、私はUUIDというものを使ってみることにした。


▲UUIDの実行例

 import uuid

 としたあと、

 uuid.uuid4()で使える。簡単だ。

 ランダムに生成されてるみたいだけど、重複することってほんとにないの?と思って調べてみた。

UUIDのサイズは16バイトで,256を16回掛けた数のバリエーションを作り出せます。これがどのくらいかというと,仮に毎秒数億個以上のスピードでUUIDを作ったとしても,人の一生どころか宇宙が誕生してから現在に至るまでの年月(約137億年)作り続けても重複などまずありえないほどです。

 参考)IT Pro UUIDとは

 機器の名前や時刻情報などをもとに充分大きなサイズかつランダムな数値を生成している、とのことだ。うむ、まず重複しないというのはわかったけども、直感的には理解しにくいなあ。137億年って、西暦9999年以降は一体どうやって計算すんだ、2000年問題のときみたいに1万年問題とか起こらないのかとか、余計なことを考えてしまった。

 「まず起こらない」というのは、起こるかも知れないということで、仕事なんかで使うときは上司やお客がその辺を突いてくるに決まっているので、シビアな処理が要求される場合は重複したときの処理を入れておけばいいんじゃないだろうか。

  はてなブックマーク - pythonで一意なIDを自動生成する  この記事にTwitterでつぶやく このページをはてなブックマーク


nenshu.png
予測年収600万円以下なら会社にしがみつけ?だと?


次のPythonで無限大(inf)や不定(Nan)を判定するへ
トップページ> "> 開発 "> Python もくじ