Python のランダムレタージェネレーター

Vaibhhav Khetarpal 2023年10月10日
  1. Python で乱数文字を生成するための randomstring モジュールの使用
  2. Python で secrets モジュールを使用してランダムな文字を生成する
  3. Python で random.randint() 関数を使用してランダムな文字を生成する
Python のランダムレタージェネレーター

Python には、乱数と文字の生成に役立つ組み込みモジュールが用意されています。これらの組み込みモジュールを実装するために複数の方法を使用して、Python でランダムな文字を生成できます。

このチュートリアルでは、Python でランダムな文字を生成するために利用できるさまざまな方法を示します。

Python で乱数文字を生成するための randomstring モジュールの使用

Python には random モジュールが含まれており、Python プログラムにインポートすることができます。また、プログラマの必要に応じてランダムな文字を生成するために使用できる関数もいくつか含まれています。

この場合、random モジュールに含まれている random.choice() 関数を使用できます。random.choice() 関数は、指定されたシーケンスからランダムに選択された要素を返すために使用されます。

文字列モジュールは、文字列を処理する関数を提供します。1つの特定の定数 ascii.letters は、範囲 (A-Z) および (a-z) を含む文字列を返すために使用されます。これは、基本的に大文字と小文字の範囲を意味します。

次のコードは、random および string モジュールを使用して、Python でランダムな文字を生成します。

import string
import random

if __name__ == "__main__":

    rstr = random.choice(string.ascii_letters)
    print(rstr)

上記のコードは次の出力を提供します。

v

Python で secrets モジュールを使用してランダムな文字を生成する

secrets モジュールを利用して、暗号的に安定した、安全で、予測不可能な乱数を生成できます。また、主に、パスワード、アカウント認証、セキュリティトークン、URL などの重要なセキュリティ関連データの生成と維持にも使用されます。

これは、セキュリティに重点を置いているため、Python で乱数を生成する最も安全な方法であり、Python 3.6 以降のすべての Python バージョンで使用できます。

random モジュールと同様に、secrets モジュールには、Python でランダムな文字を生成するために使用できる choice() 関数も含まれています。

次のコードは、secrets モジュールを使用して Python でランダムな文字を生成します。

import string
import secrets

if __name__ == "__main__":

    rand = secrets.choice(string.ascii_letters)
    print(rand)

上記のコードは、次の出力を提供します。

c

Python で random.randint() 関数を使用してランダムな文字を生成する

random.randint() 関数を使用して、指定した範囲内の乱数を返すことができます。プログラマーは範囲を指定できます。random.randint() 関数は、Python が提供する組み込みの random モジュールに含まれています。この関数を使用するには、Python コードにインポートする必要があります。

random.randint() 関数は random.randrange() 関数のエイリアスであり、startstop の 2つの必須パラメーターが含まれています。これらのパラメーターは、乱数または文字を生成する範囲を指定します。

Python でランダムな文字を生成するには、同じ random.randint() 関数を実装できます。

次のコードは、random.randint() 関数を使用して Python でランダムな文字を生成します。

import random

randlowercase = chr(random.randint(ord("a"), ord("z")))
randuppercase = chr(random.randint(ord("A"), ord("Z")))
print(randlowercase, randuppercase)

コードプログラムは次の出力を提供します。

s K

この記事に記載されているすべてのコードは Python でランダムな文字を生成するためのものであるため、コードが実行されるたびに出力が異なります。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python Random