random — rastgele sayılar üret¶
Bu modül, bir sözde-rastgele sayı üreteci (PRNG) uygular. PRNG, 32-bit Yasmarang tarzı bir LCG’dir; ilk içe aktarımda, os.urandom() ile aynı donanım kaynağından tek bir 32-bit tohum (seed) çeker ve sonraki her sayı, o tohumun belirleyici (deterministik) bir fonksiyonudur.
Uyarı
Çıktı kriptografik olarak güvenli değildir – algoritma kısa bir çıktı dizisinden tahmin edilebilir ve başlangıç tohumu yalnızca 32 bit entropi taşır. Anahtar malzemesi, oturum belirteçleri, parola tuzları (salt) veya güvenlik açısından hassas herhangi bir kullanım için bunun yerine os.urandom() çağırın.
Not
Aralıklar için aşağıdaki gösterim kullanılır:
() açık aralık parantezleridir ve uç noktalarını içermez. Örneğin, (0, 1) 0’dan büyük ve 1’den küçük anlamına gelir. Küme gösteriminde: (0, 1) = {x | 0 < x < 1}.
[] tüm limit noktalarını içeren kapalı aralık parantezleridir. Örneğin, [0, 1] 0’dan büyük veya eşit ve 1’den küçük veya eşit anlamına gelir. Küme gösteriminde: [0, 1] = {x | 0 <= x <= 1}.
Tamsayılar için fonksiyonlar¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
İlk biçim [0, stop) aralığından rastgele bir tamsayı döndürür. İkinci biçim [start, stop) aralığından rastgele bir tamsayı döndürür. Üçüncü biçim, [start, stop) aralığından step adımlarla rastgele bir tamsayı döndürür. Örneğin,
randrange(1, 10, 2)çağrısı 1 ile 9 dahil arasındaki tek sayıları döndürür.
Kayan noktalı sayılar için fonksiyonlar¶
Diğer Fonksiyonlar¶
- random.seed(n: int | None = None, /) None¶
Rastgele sayı üreteci modülünü, bir tamsayı olması gereken n tohumu (seed) ile başlatır. Hiçbir argüman (veya
None) geçirilmediğinde, PRNG,os.urandom()ile aynı bağlantı noktasına özgü kaynaktan yeniden tohumlanır.
- random.choice(sequence: Any) Any¶
sequence (demet, liste veya alt simge işlemini destekleyen herhangi bir nesne) içinden rastgele bir öğe seçer ve döndürür.