random — 난수 생성¶
이 모듈은 의사 난수 생성기(PRNG)를 구현합니다. 이 PRNG는 32비트 Yasmarang 스타일 LCG입니다. 처음 임포트될 때 os.urandom() 이 사용하는 것과 동일한 하드웨어 소스에서 32비트 시드 하나를 가져오며, 이후의 모든 숫자는 해당 시드의 결정론적 함수입니다.
경고
출력은 암호학적으로 안전하지 않습니다. 알고리즘은 짧은 출력 시퀀스만으로도 예측 가능하며, 초기 시드는 32비트의 엔트로피만 담고 있습니다. 키 생성 자료, 세션 토큰, 비밀번호 솔트 또는 기타 보안에 민감한 용도에는 대신 os.urandom() 을 호출하세요.
참고
구간에는 다음 표기법이 사용됩니다:
()는 개구간 괄호이며 끝점을 포함하지 않습니다. 예를 들어 (0, 1)은 0보다 크고 1보다 작음을 의미합니다. 집합 표기법으로는 (0, 1) = {x | 0 < x < 1}입니다.
[]는 폐구간 괄호이며 모든 극한점을 포함합니다. 예를 들어 [0, 1]은 0 이상 1 이하를 의미합니다. 집합 표기법으로는 [0, 1] = {x | 0 <= x <= 1}입니다.
정수용 함수¶
부동소수점용 함수¶
기타 함수¶
- random.seed(n: int | None = None, /) None¶
시드 n 으로 난수 생성기 모듈을 초기화합니다. n 은 정수여야 합니다. 인수가 전달되지 않거나(또는
None) 전달되면os.urandom()이 사용하는 것과 동일한 포트별 소스에서 PRNG가 다시 시드됩니다.
- random.choice(sequence: Any) Any¶
sequence (튜플, 리스트 또는 첨자 연산을 지원하는 모든 객체)에서 무작위로 하나의 항목을 선택하여 반환합니다.