\

Pythonのrandomモジュールは、さまざまな種類の乱数を生成するためのツールを提供しています。このモジュールは、整数やシーケンスに対する一様選択、リストのランダムな順列生成、置換なしのランダムサンプリングなど、様々な分布に対する擬似乱数生成器を実装しています。

以下に、randomモジュールの主な関数とその使用例を示します。

import random

# 0.0 <= X < 1.0 の範囲でランダムな浮動小数点数を生成
num = random.random()
print(num)

# aからbまでの範囲でランダムな浮動小数点数を生成
num = random.uniform(2.0, 5.0)
print(num)

# aからbまでの範囲でランダムな整数を生成
num = random.randint(1, 10)
print(num)

# シーケンスからランダムな要素を選択
mylist = ["apple", "banana", "melon", "strawberry", "peach", "lemon"]
print(random.choice(mylist))

# シーケンスの要素をシャッフル
random.shuffle(mylist)
print(mylist)

また、クラスの属性をランダムに生成することも可能です。以下に、その使用例を示します。

class Person:
    def __init__(self, name, age=None):
        self.name = name
        self.age = age if age else random.randint(18, 65)

p1 = Person('Bob')
p2 = Person('Sue', 20)
p3 = Person('Jeff')

print(p1.name, p1.age)
print(p2.name, p2.age)
print(p3.name, p3.age)

このように、Pythonのrandomモジュールは、プログラム内でランダム性が必要な場合に非常に便利なツールです。ただし、このモジュールが生成する乱数は完全に決定的であるため、すべての目的に適しているわけではなく、特に暗号学的な目的には全く適していません。セキュリティや暗号学的な用途には、secretsモジュールを使用することが推奨されています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です