Python의 Random 모듈
Source: Dev.to
개요
Python의 random 모듈은 무작위성을 생성하는 도구들을 제공합니다. 예를 들어 무작위 숫자 생성, 시퀀스에서 항목 선택, 데이터 섞기 등이 있습니다. 게임, 시뮬레이션, 테스트, 그리고 예측할 수 없는 결과가 필요한 모든 상황에서 유용합니다.
일반 함수
random.randint(a, b)
a ≤ N ≤ b 를 만족하는 무작위 정수 N을 반환합니다.
예시:
import random
print(random.randint(1, 10)) # 1부터 10 사이의 무작위 숫자
random.choice(seq)
비어 있지 않은 시퀀스(예: 리스트, 튜플, 문자열)에서 무작위 요소를 선택합니다.
사용 사례: 이름 목록에서 무작위 당첨자를 뽑을 때.
random.random()
0.0 ≤ x < 1.0 구간에 있는 무작위 부동소수점 숫자 x를 반환합니다.
항상 0과 1 사이에 떨어지는 아주 작은 주사위를 굴리는 것이라고 생각하면 됩니다.
random.shuffle(seq)
가변 시퀀스의 항목들을 제자리에서 섞어 새로운 무작위 순서를 만듭니다.
전형적인 사용: 카드 덱을 무작위로 섞을 때.
random.seed(a=None)
시드 a로 난수 생성기를 초기화합니다. 동일한 시드를 제공하면 결과가 재현 가능해지므로 테스트에 편리합니다.
random.uniform(a, b)
a ≤ N ≤ b 를 만족하는 무작위 부동소수점 숫자 N을 반환합니다. 특정 범위 내에서 무작위 소수를 필요로 할 때 사용합니다.
random.sample(population, k)
대상 시퀀스에서 중복 없이 k개의 고유한 요소를 선택합니다. 반복 없이 여러 무작위 항목을 뽑아야 할 때 유용합니다.
전형적인 사용 사례
- 게임: 주사위 굴리기, 카드 섞기, 캐릭터를 무작위 위치에 배치하기.
- 무작위 선택: 경품 당첨자 선정, 무작위 퀴즈 문제 선택.
- 시뮬레이션: 동전 던지기, 날씨 패턴, 혹은 기타 확률 과정 모델링.
- 데이터 생성: 무작위 비밀번호, 테스트용 숫자, 시각 프로젝트를 위한 무작위 색상 생성.