시리즈 이전글입니다.
2021/02/04 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-26.Python 기초편 모듈(1) import, from
03.as
import를 이용해 가져온 모듈의 리소스를 사용하려면 모듈명을 그대로 사용해야 했습니다.
import pizza
pizza.make_pizza("A")
pizza.make_pizza_box("A")
하지만 as라는 키워드를 이용해 모듈명을 지정하고 싶은대로 지정해 사용할 수 있습니다.
import 모듈 as 별명
pizza 모듈을 import한 다음 p라고 불러 사용하고 싶다면 다음과 같이 코드를 만듭니다.
import pizza as p
p.make_pizza("A")
from import 구문에서도 as를 사용해 가져온 리소스마다 별명을 붙여 사용할 수 있습니다.
from 모듈 import 함수 as 별명1, 변수 as 별명2, 클래스 as 별명3
아래는 사용 예입니다.
from pizza import make_pizza as mp, make_pizza_box as mpb
mp("A")
mpb("A")
04.패키지
Python에서 패키지(package)란 모듈들의 묶음입니다. 모듈들을 한데 모아 폴더 구조를 가지고 있지만 폴더와 구별되는 점은 패키지 생성시 __init__.py라는 파일이 자동으로 생깁니다. Pycharm에서 직접 패키지를 생성해 확인해보겠습니다.
프로젝트에 마우스를 올려 우클릭 후 New > Python Package를 선택합니다.
새로 만들 패키지의 이름은 pizza_factory로 만들겠습니다.
패키지를 생성하고 나면 자동으로 __init__.py 파일이 생깁니다.
이 파일에는 아무 내용도 존재하지 않지만 덕분에 pizza_factory가 일반 폴더와 다르게 Python 패키지라고 인식시킬 수 있습니다.
(Python 버전 3.3이상에서 프로젝트 실행시 __init__.py가 없어도 패키지를 인식하지만 아래 버전에서는 이 파일이 필요합니다. 따라서 3.7버전을 이용하는 본 도서에서는 꼭 필요하지는 않습니다.)
이제 pizza_factory 패키지에 다음 두 파일(pizza.py, factory.py)을 만들어 넣고 프로젝트 폴더 밑에 main.py를 생성합니다. (main.py는 pizza_factory 패키지 밑에 있는 모듈이 아닙니다.)
SystemTrading/
├── pizza_factory
├──── pizza.py
├──── factory.py
└─── main.py
factory.py
def run_factory():
print("공장 가동시작합니다.")
pizza.py
def make_pizza(pizza_name):
print("{}피자를 생산합니다.".format(pizza_name))
def make_pizza_box(pizza_name):
print("{}피자 용기를 생합니다.".format(pizza_name))
이후 main.py에서 pizza_factory 패키지 안에 있는 모듈들을 사용하려면 다음과 같이 코드를 만듭니다.
import 패키지명.모듈
패키지명.모듈을 import 했다면 모듈안에 존재하는 리소스는 마찬가지로
패키지명.모듈.리소스 형식으로 접근해 사용합니다.
main.py
import pizza_factory.pizza
import pizza_factory.factory
pizza_factory.pizza.make_pizza("A")
pizza_factory.factory.run_factory()
앞서 배운 from import 구문을 사용해 패키지 하위 모듈을 포함할 수도 있습니다.
from 패키지명 import *
from pizza_factory.pizza import *
from pizza_factory.factory import *
make_pizza("A")
run_factory()
마찬가지로 별칭을 이용한 import도 가능합니다.
import pizza_factory.pizza as p
import pizza_factory.factory as f
p.make_pizza("A")
f.run_factory()
이상으로 import 구문을 이용해 모듈을 사용하는 방법에 대해 배워봤습니다.
프로그래밍을 하며 직접 만든 패키지를 사용하는 경우도 많지만 다른 개발자들이 만들어 놓은 패키지를 다운받아 사용하는 경우가 더 많을 것입니다.
from, import를 사용해 어떻게 모듈을 불러오는지 미리 연습하면 앞으로의 프로젝트 진행에 많은 도움이 될 것입니다.
하지만 바로 익숙해지는 것이 쉬운 일은 아니니 현재 모듈에서 다른 모듈을 불러 사용하고자 한다면 import와 from가 필요하다는 것을 떠올리실 수만 있어도 좋습니다.
같이 보시면 좋을 글
2021/02/10 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.
2021/02/07 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-28.Python 기초편 예외처리(1)
'파이썬 > 주식 자동매매' 카테고리의 다른 글
Python 키움API 자동매매프로그램 개발-29.Python 기초편 예외처리(2) else, finally (1) | 2021.02.10 |
---|---|
Python 키움API 자동매매프로그램 개발-28.Python 기초편 예외처리(1) (0) | 2021.02.07 |
Python 키움API 자동매매프로그램 개발-26.Python 기초편 모듈(1) import, from (0) | 2021.02.04 |
Python 키움API 자동매매프로그램 개발-25.Python 기초편 클래스(4) 상속 (0) | 2021.02.03 |
Python 키움API 자동매매프로그램 개발-24.Python 기초편 클래스(3) 속성, 인스턴스 확인 (0) | 2021.02.02 |
댓글