【Python】18桁の整数をランダム生成する

何桁でも使える方法ですが、
例えば Discord のユーザ, チャンネル, メッセージ等に割り振られているIDは、
いずれも18桁の整数と決まっています。
(稀に例外がありますがその説明は割愛します)

何かとダミーのデータが必要になる場面があると思うので、
Pythonを使って自動で生成する方法を紹介します。

ソースコード

from random import randint  
number = 8  
limit = int('1' + '0' * 17), int('9' * 18)  
for _ in range(number):  
     print(randint(*limit))  

整数をランダム生成するので、random.randint を利用します。
ここでは number に指定した数だけIDをランダム生成しています。

randint の引数に下限と上限を渡すのですが、
愚直に 100000000000000000, 999999999999999999 と書こうとすると、
桁数が合っているかチェックするのも面倒ですしバグの元になるので、
int('1' + '0' * 17), int('9' * 18) と定義します。

因みに (10 ** 17), (10 ** 18 - 1) とする方法もあります。
お好みの方法でどうぞ。