Post

[Python 기초] 모듈 사용하기, 만들기 / 패키지

모듈

재사용 가능한 변수와 함수, 코드를 모아둔 .py 파일

모듈 불러오기

import를 통해 모듈을 불러올 수 있다.

1
2
import random
# random 모듈을 불러온다

모듈 사용하기

모듈 뒤에 .을 붙여서 모듈 속 함수나 변수를 사용할 수 있다.

1
2
3
4
import random

print(random.randrange(0, 2))
# 0 이상 2 미만 수 중 하나를 임의로 출력

모듈 만들기

.py 확장자로 파이썬 파일을 생성하여 함수나 변수를 입력한다.

모듈을 사용할 main.py 파일에서 import를 통해 모듈을 불러와서 사용한다.

1
2
3
4
5
6
7
8
9
## price.py
americano = 4100
cafe_latte = 4600
...

## main.py
import price
print(price.americano)
# 4100

자주 사용하는 모듈

math

수학 연산을 도와주는 모듈

time

시간 값을 가져올 수 있는 모듈

random

랜덤한 숫자를 선택하는 함수가 담긴 모듈

1
2
3
4
import random

print(random.randrange(1, 10))
# 1~9 중 하나를 랜덤으로 출력

연습문제

  • random 모듈을 import해봅시다.
  • 빈 리스트를 담은 변수 lotto를 만들어봅시다.
  • lotto의 길이가 6이 될 때까지 다음 과정을 수행합니다.
  • 1부터 45까지의 수 중 하나를 임의로 뽑습니다.
  • 만약 뽑은 수가 리스트 lotto에 없으면 lotto에 추가하고, 있으면 수를 다시 뽑습니다.
  • pass는 아무런 동작도 하지 않는 코드입니다. if조건 만족 후 아무런 코드도 없다면 오류를 일으키기 때문에 무의미한 pass를 넣습니다.
  • lotto를 정렬해줍니다.
  • lotto를 출력하여 우리가 뽑은 로또번호를 확인해봅시다.
1
2
3
4
5
6
7
8
9
10
11
12
import random

lotto = []
while len(lotto) < 6:
    randomNum = random.randrange(1,46)
    if randomNum in lotto:
        pass
    else:
        lotto.insert(len(lotto),randomNum)

lotto.sort()
print(lotto)

패키지

모듈을 폴더(디렉토리) 단위로 관리하는 것

1
2
3
4
5
6
7
8
9
10
# [예시] 파이썬으로 게임 패키지를 만든다면?
game/ #폴더
    __init__.py
    audio/
    sprite/
    script/
        __init__.py
        move.py #모듈
        attack.py
    ...

패키지 불러오기

from-import 방식으로 패키지 속 모듈 안의 함수를 가져올 수 있다.

이렇게 from-import 방식으로 가져오면 모듈 뒤에 .을 붙이지 않고 함수를 실행할 수 있다.

1
2
3
from random import randrange

print(randrange(1, 11))
This post is licensed under CC BY 4.0 by the author.