프로젝트를 진행하면서 다양한 고충이 있엇지만 그중 백앤드에서 클론 프로젝트를 진행할때마다 제일 하기 싫은 작업이면서, 뭔가 실력향상에 도움이 되는거 같지 않는 데이터베이스 임의로 구축하는 작업..
그 중에서 가장 많이 사용했던 모듈 중 하나인 Random 모듈에 대해서 정리해보자. 두번째로 많이 사용했던 모듈은 Faker 였다...ㅎ
주사위를 던지는 상황을 생각해보자. 주사위의 각 면에는 1개에서 6개의 눈이 새겨져 있고,
주사위를 던질 때마다 그 중 하나의 숫자가 선택된다.
주사위를 직접 던져보기 전에는 다음번에 어떤 숫자가 나올지 알 수가 없다.
그런데 주사위를 600번 정도 던져보면 각 숫자가 대략 100번 정도는 나오기는 한다.
이런 것이 바로 난수(random number)이다.
random 모듈의
random()
함수를 호출하면random()
함수는 0 이상 1미만의 숫자 중에서 아무 숫자나 하나 뽑아서 돌려준다.>> import random >> random.random() 0.24164242308275274
random 모듈의
randrange()
를 사용하면 주사위처럼 1에서 6까지의 정수 중 하나를 무작위로 얻었을 수 있는데, 설정한 범위는 1이상 7미만이라는 것을 주의해서 사용해준다
cf) 1~6의 임의의 주사위를 얻고싶을때,random.randrange(1,7)
>> random.randrange(1,7) 4 >> random.randrange(1,7) 6
random 모듈의
shuffle()
이라는 함수를 호출하면 순서형 자료(sequence)를 뒤죽박죽으로 섞어놓은 함수를 구현할수도 있습니다.>> a = ['a','b','c','d','e'] >> random.shuffle(a) >> a ['e', 'b', 'c', 'a', 'd']
random 모듈의
choice()
이라는 함수를 호출하면 아무 원소 하나 뽑아주는 함수도 구현가능합니다.>> menu = '쫄면', '육계장', '비빔밥' >> random.choice(menu) '쫄면'