모듈 개요
파이썬에서 모듈은 관련있는 것을 하나의 파이썬 소스 파일에 작성한 것입니다.
이렇게 정의한 모듈은 import 문법을 이용하여 다른 파이썬 소스에서 사용할 수 있습니다.
예를 들어 mylib.py 파일에 다음과 같은 내용이 있다고 가정할게요.
[In]
#mylib.py
def foo():
print("foo")
만약 다른 곳에서 import 구문 없이 mylib에 정의한 foo 함수를 사용하려고 하면 NameError가 발생합니다.
[In]
foo()
[out]
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-c19b6d9633cf> in <module>()
----> 1 foo()
NameError: name 'foo' is not defined
다른 곳에서 mylib 모듈(mylib.py)에 정의한 것을 사용하기 위해서는 import mylib를 명시합니다.
그리고 mylib와 점(.)을 통해 정의한 것에 접근할 수 있어요.
[In]
import mylib
mylib.foo()
[out]
foo
만약 mylib와 점(.)을 생략하고 싶다면 from과 import를 함께 사용하세요.
from 모듈 import 사용할 이름
[In]
from mylib import foo
foo()
[out]
foo
import as로 모듈 이름의 별칭을 정할 수도 있습니다.
import 모듈 이름 as 별칭 이름
[In]
import mylib as m
m.foo()
[out]
foo
random 모듈
랜덤한 값을 발생하는 여러 함수 등을 정의한 모듈 이름이 random입니다.
따라서 import random을 명시하여 사용할 수 있어요.
[In]
import random
random 모듈에 함수 random을 호출하면 0에서 1사이의 랜덤한 실수를 반환합니다.
[In]
for _ in range(10):
rv = random.random()
print(f"{rv:.2f}",end=' ')
[out]
0.55 0.90 0.46 0.56 0.41 0.26 0.80 0.38 0.04 0.02
원하는 범위 내에서 랜덤한 실수를 발생하기 원하면 uniform 함수를 사용하세요.
[In]
for _ in range(10):
rv = random.uniform(-1,1)
print(f"{rv:.2f}",end=' ')
[out]
0.04 0.02 -0.18 0.59 0.21 0.28 0.51 0.94 -0.41 -0.65
특정 범위 내에서 랜덤한 정수를 발생하기 원하면 randint 함수를 사용하세요.
[In]
for _ in range(10):
rv = random.randint(0,3)
print(f"{rv}",end=' ')
[out]
3 2 0 3 3 0 3 2 0 1
range처럼 시작, 끝 범위와 step을 지정하여 랜덤한 정수 값을 얻기 원하면 randrange 함수를 호출하세요.
[In]
for _ in range(10):
rv = random.randrange(0,20,3)
print(f"{rv}",end=' ')
[out]
9 6 12 18 12 9 3 6 0 9
특정 목록 내에서 랜덤하게 고르고 싶다면 choice 함수를 사용하세요.
[In]
for _ in range(10):
rv = random.choice([1,6,9,12])
print(f"{rv}",end=' ')
[out]
12 6 6 1 9 1 9 9 12 12
random 모듈은 이 외에도 다양한 것들을 제공합니다.