Документация создаёт впечатление, что любое целое число просто используется как seed (это “начальная точка” для генератора случайных чисел.).
Но Python перед использованием просто берёт абсолютное значение.
То есть:
➡️ seed(3) и seed(-3) - порождают один и тот же поток случайных чисел.
Это значит, что разные seed не всегда дают разные последовательности -
Python гарантирует только обратное: одинаковый seed → одинаковые числа.
Почему так?
В исходниках CPython есть строка, которая буквально делает:
seed = abs(seed)И знак просто теряется, хотя алгоритм случайных чисел мог бы учитывать его.
🧠 Вывод:
Не используйте небольшие вариации seed (например 5 и -5) как способ получить разные потоки случайностей — это небезопасно.
Если вам нужны независимые RNG — создавайте их явно, а не полагаясь на “умные” seed.
[1] https://docs.python.org/3/library/random.html
[2] https://github.com/python/cpython/blob/main/Modules/_randommodule.c#L321C13-L321C30
@pythonl
