본문 바로가기
파이썬/주식 자동매매

Python 키움API 자동매매프로그램 개발-27.Python 기초편 모듈(2) as, package

by 행복론자 2021. 2. 5.

시리즈 이전글입니다.

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 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

 

주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

주식매매프로그램 개발 노하우에 관한 제 전자책이 발간되었습니다. https://kmong.com/gig/292764 주식매매프로그램, 쉽게 따라 만드는 노하우와 소스를 드립니다. | 36000원부터 시작 가능한 총 평 0개

jsp-dev.tistory.com

 

2021/02/07 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-28.Python 기초편 예외처리(1)

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글