Python의 Random 모듈

발행: (2025년 12월 23일 오전 12:37 GMT+9)
3 min read
원문: Dev.to

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개의 고유한 요소를 선택합니다. 반복 없이 여러 무작위 항목을 뽑아야 할 때 유용합니다.

전형적인 사용 사례

  • 게임: 주사위 굴리기, 카드 섞기, 캐릭터를 무작위 위치에 배치하기.
  • 무작위 선택: 경품 당첨자 선정, 무작위 퀴즈 문제 선택.
  • 시뮬레이션: 동전 던지기, 날씨 패턴, 혹은 기타 확률 과정 모델링.
  • 데이터 생성: 무작위 비밀번호, 테스트용 숫자, 시각 프로젝트를 위한 무작위 색상 생성.
Back to Blog

관련 글

더 보기 »

학습 여정을 기록하는 34일 차

오늘 한 일 - CLI 메모 작성 애플리케이션을 만들었습니다. 기능 기본 기능에는 다음이 포함됩니다: - 메모 생성 - 잠재적 확장 기능: 타임스탬프, 검색 등...