2012-07-15 6 views
2

누군가는 방법 씨는 다음 예에서 임의 모듈에서 무엇을 설명 할 수 있습니까? 미리 감사드립니다.파이썬 임의 모듈 종자 방법

random.seed(42) #same connections each time for easier debugging 
+2

는 여기에 대해 요구하는 기능에 파이썬 문서에 대한 링크입니다 : [링크] (http://docs.python.org/library/random.html?highlight=random.seed#random.seed). 파이썬에 대해 알고 싶다면 항상 문서로 이동합니다. 매우 유용합니다. – thedoctar

+0

또한 [임의의 모듈에 대한 파이썬 소스 코드]를 볼 수 있습니다 (http://hg.python.org/cpython/file/c6880edaf6f3/Lib/random.py). – Chris

답변

4

랜덤 함수는 실제 무작위가 아닌 의사 랜덤입니다. 시드 된 값에서 겉으로보기에 무작위 값을 생성합니다. 일반적으로 시드 된 값은 시스템 클럭 또는 더 이해하기 쉬운 다른 변경 값으로 설정되지만 임의의 함수가 동일한 정적 값 (이 경우 42)으로 시드 된 경우 임의 함수의 출력은 각 프로그램 실행시 정확히 동일하므로 예측 가능하며 디버깅 코드에 유용 할 수 있습니다. 이 하드웨어 소스에서 임의의 데이터를 가져옵니다하지 않는

4

모든 소프트웨어 기반의 난수 생성기는 정말 무작위로하지 않습니다.

는 난수 발생기 (RNG)를하면 초기 시드 값을 제공한다. RNG는이 값에 약간의 마법을 적용하고 새 값을 생성합니다.이 값은 다시 (보통) 다시 입력되어 다른 값을 생성합니다. 이것은 매우 무작위로 보이는 숫자의 톤을 만들기 위해 반복해서 발생합니다. 실제 RNG는 그다지 간단하지 않지만 아이디어를 얻을 수 있습니다. 상기 RNG 이후

은 동일한 시드 값을 두 번 임의의 숫자의 동일한 스트림 당신에게 각 시간을 줄 것이다 그것을 먹이 (P는 의사의 약자 곳은, 실제로 PRNG의) 실제로 무작위로하지 않습니다. 이것은 "임의"숫자가 무엇인지 알기 때문에 디버깅에만 유용합니다.