random 모듈은 의사 난수를 생성하는 데 사용됩니다. 소스 코드 위치: Lib/random.py
실제 난수(또는 무작위 이벤트)는 실험에 표시된 분포 확률에 따라 특정 생성 프로세스에서 무작위로 생성됩니다. 결과는 예측할 수 없고 보이지 않습니다. 컴퓨터의 랜덤 기능은 특정 알고리즘에 따라 시뮬레이션되며 결과는 확실하고 가시적입니다. 이러한 예측 가능한 결과가 나올 확률은 100%라고 가정할 수 있습니다. 따라서 컴퓨터 무작위 함수에 의해 생성된 "난수"는 무작위가 아니라 의사 난수입니다.
컴퓨터의 의사 난수는 특정 계산 방법에 따라 무작위 시드로 계산된 값입니다. 따라서 계산 방법이 확실하고 난수 시드가 확실한 한 생성되는 난수는 고정되어 있습니다.
사용자나 제3자가 무작위 시드를 설정하지 않는 한, 기본적으로 무작위 시드는 시스템 시계에서 나옵니다.
이 Python 라이브러리는 하단에 공통 알고리즘을 사용합니다. 장기간 테스트를 거쳐 신뢰성을 말할 수는 없지만 비밀번호 관련 기능에는 사용해서는 안됩니다.
1. 기본 방법
random.seed(a=None, version=2)
의사 난수 생성기를 초기화합니다. a가 제공되지 않거나 a=None인 경우 시스템 시간이 시드로 사용됩니다. a가 정수이면 시드로 사용됩니다.
random.getstate()
생성기의 현재 내부 상태 개체를 반환합니다.
random.setstate(state)
생성기를 이 상태로 복원하려면 getstate 메서드를 사용하여 이전에 얻은 상태 개체를 전달합니다.
random.getrandbits(k)
K 비트보다 크지 않은 Python 정수(10진수)를 반환합니다. 예를 들어 k=10이면 결과는 0~2^10 사이의 정수입니다.
2. 정수에 대한 메서드
random.randrange(stop) random.randrange(start, stop[, step])
는 선택(범위(시작, 중지, 단계))과 동일하지만 실제로 범위 개체를 생성하지는 않습니다.
random.randint(a, b)
a
3과 동일합니다. 시퀀스 클래스 구조를 위한 메서드
random.choice(seq)
비어 있지 않은 시퀀스 seq에서 요소를 무작위로 선택합니다. seq가 비어 있으면 IndexError 예외가 나타납니다.
random.choices(population, Weights=None, *, cum_weights=None, k=1)
버전 3.6의 새로운 기능입니다. K개 요소는 모집단 클러스터에서 무작위로 선택됩니다. Weights는 상대 가중치 목록이고 cum_weights는 누적 가중치이며 두 매개변수가 동시에 존재할 수 없습니다.
random.shuffle(x[, random])
시퀀스 x의 요소 순서를 무작위로 섞습니다. 변경 불가능한 시퀀스에만 사용할 수 있습니다. 변경 불가능한 시퀀스의 경우 아래의 샘플() 메서드를 사용하세요.
random.sample(population, k)
모집단 표본에서 K개의 고유 요소를 무작위로 추출하거나 설정하여 새로운 시퀀스를 형성합니다. 반복 없이 무작위로 샘플링하는 데 자주 사용됩니다. 반환되는 것은 원래 시퀀스를 파괴하지 않고 새로운 시퀀스입니다. 정수 범위에서 특정 개수의 정수를 무작위로 뽑으려면 매우 효율적이고 공간을 절약하는 매우 효율적인 샘플(범위(10000000), k=60)과 같은 방법을 사용하세요. k가 모집단 길이보다 크면 ValueError 예외가 나타납니다.
4. 진정한 가치 배분
랜덤 모듈의 최고급 기능이 실제로 여기에 있습니다.
random.random()
왼쪽 닫힘과 오른쪽 열림 사이의 부동 소수점 숫자를 반환합니다[0.0, 1.0)
random.uniform(a, b)
a와 b 사이의 부동 소수점 숫자를 반환합니다. a>b인 경우 b와 a 사이의 부동 소수점 숫자입니다. 여기에서는 a와 b가 모두 결과에 나타날 수 있습니다.
random.triangular(low, high, mode)
low <= N <=high를 갖는 삼각형 분포 난수를 반환합니다. 매개변수 모드는 모드가 나타나는 위치를 지정합니다.
random.betavariate(알파, 베타)
β 분포. 반환된 결과는 0과 1 사이입니다.
random.expovariate(lambd)
Exponential distribution
random.gammavariate(alpha, beta)
Gamma distribution
random.gauss(mu, sigma)
Gaussian distribution
random.lognormvariate (mu, sigma)
whengormal distribution
random.normalvariate (mu, sigma)
normal distribution
random.vonmisesvariate (mu, kappa)
Kappa 분포. 파레토 분포
random.weibullvariate(alpha, beta)
5. 선택적 생성기class random.SystemRandom([seed])os.urandom( ) 메소드를 사용하여 난수 생성, 소스 코드 제공 운영 체제에 따라 다르지만 모든 시스템에서 반드시 지원되는 것은 아닙니다
위 내용은 임의 모듈이 포함된 Python 버전은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!