Daftar Referensi Python

random.seed() menginisialisasi generator bilangan acak. Seed yang sama dapat menghasilkan urutan pseudoacak yang sama sehingga berguna untuk pengujian dan contoh yang dapat diulang.

Sintaks

random.seed(a=None, version=2)

Parameter

Parameter Wajib? Keterangan
a Tidak Seed berupa None, int, float, string, bytes, atau bytearray
version Tidak Algoritma seed untuk string/bytes; default 2. Versi 1 hanya untuk urutan Python lama

Nilai balik: None.

Contoh

import random

random.seed(42)
print(random.randint(1, 100))

random.seed(42)
print(random.randint(1, 100))

Coba di IDE

Output:

82
82

Contoh Lainnya

String dapat menjadi seed

import random

random.seed("python")
print(round(random.random(), 6))

Coba di IDE

Output:

0.839794

Membuat generator terpisah

import random

generator_a = random.Random(7)
generator_b = random.Random(7)

print(generator_a.randint(1, 10))
print(generator_b.randint(1, 10))

Coba di IDE

Output:

6
6

Mengulang satu rangkaian hasil

import random

random.seed(10)
pertama = [random.randint(1, 9) for _ in range(3)]

random.seed(10)
kedua = [random.randint(1, 9) for _ in range(3)]

print(pertama)
print(pertama == kedua)

Coba di IDE

Output:

[1, 7, 8]
True

Kesalahan Umum

  • seed() tidak membuat generator aman untuk password atau token; gunakan modul secrets.
  • Memanggil seed() sebelum setiap pilihan akan mengulang pola dan mengurangi keacakan.
  • Sejak Python 3.11, tipe seed dibatasi pada None, int, float, string, bytes, atau bytearray.
  • Tanpa argumen, Python memakai sumber keacakan sistem bila tersedia; hasilnya tidak dimaksudkan untuk diulang.

Pelajari Lebih Lanjut