파이썬에서 난수 생성 관련 함수들을 모아 놓은 모듈로, import random
을 통해 모듈을 불러온 후 random.함수명()
의 형태로 사용 가능하다.
>>> import random
>>> random.random()
0.6847683173176913
random()
함수는 0 이상 1 미만의 숫자 중 랜덤으로 실수 하나를 뽑아서 반환을 해준다.>>> import random
>>> random.uniform(1, 10)
3.955633039092667
uniform()
함수를 사용하면 된다.>>> import random
>>> random.randrange(1, 10)
2
randrange()
함수를 사용한다.>>> import random
>>> random.randrange(10)
2
>>> import random
>>> random.randint(1, 10)
3
randrange
가 1 이상 10 미만의 정수 하나를 랜덤으로 반환했다면 randint
는 1이상 10 이하의 정수 하나를 랜덤으로 반환한다.>>> import random
>>> house = ['아파트', '주택', '빌라']
>>> random.shuffle(house)
>>> house
['주택', '빌라', '아파트']
shuffle
함수의 매개변수는 시퀀스 데이터 타입이 들어가야 하지만 변경이 가능한 list
만 가능하다.>>> import random
>>> house = ['아파트', '주택', '빌라']
>>> random.choice(house)
'주택'
choice
함수는 매개변수로 시퀀스 데이터 타입이 들어가야 한다.>>> import random
>>> lunch = ['한식', '중식', '일식', '양식']
>>> random.sample(lunch, 2)
['양식', '일식']
sample
함수는 첫번째 매개변수로 시퀀스 데이터 타입 (리스트, 튜플, 문자열, range)과 set 타입을 받고 두번째 매개 변수로는 랜덤하게 뽑을 인자의 갯수를 받는다.random
모듈은 소개한 함수 외에도 난수 생성기를 초기화 하는 random.seed
, 무작위 바이트를 생성하는 random.randbytes
등 여러 함수들을 포함하고 있다. 더 자세한 함수가 궁금하면 👉파이썬 자습서를 확인해 보자!!
>>> import random
# 1. 0(이상) ~ 1(미만) 사이의 실수 반환
>>> random.random()
0.6847683173176913
# 2. 1.0(이상) ~ 10.0(이하) 사이의 실수 반환
>>> random.uniform(1, 10)
3.955633039092667
# 3. 1(이상) ~ 10(미만) 사이의 정수 반환
>>> random.randrange(1, 10)
2
# 4. 1(이상) ~ 10(이하) 사이의 정수 반환
>>> random.randint(10)
10
# 5. 리스트를 무작위로 섞어주기
>>> house = ['아파트', '주택', '빌라']
>>> random.shuffle(house)
>>> house
['주택', '빌라', '아파트']
# 6. 랜덤으로 원소 하나 추출하기
>>> house = ['아파트', '주택', '빌라']
>>> random.choice(house)
'주택'
# 7. 지정한 갯수 만큼 원소를 랜덤으로 추출
>>> lunch = ['한식', '중식', '일식', '양식']
>>> random.sample(lunch, 2)
['양식', '일식']