728x90
1. 패키지란?
패키지란 모듈을 모아둔 것을 말한다.
프로그램을 만들다 보면 모듈이 엄청 많아질 수 있는데, 패키지를 사용하면 프로그램의 구성요소를 잘 정리할 수 있고 쉽게 재활용할 수 있다.
2. 패키지 만들기
(1) 프로젝트를 우클릭한 후, Python Package를 클릭한다. (Directory로 패키지를 생성할 때에는 __init__.py를 추가해준다.)

(2) Python Package의 이름을 설정한다.

(3) 패키지에 평면도형의 면적을 구해 주는 area모듈과 입체도형의 부피를 구해주는 volume모듈을 추가한다.


패키지의 구성은 다음과 같다.

3. 패키지 임포트
모듈과 비슷하게 패키지 안의 모듈을 가져올 때도 import를 사용한다.
첫 번째, import <package.module>
패키지 안에 있는 모듈을 가져온다. 패키지나 모듈안에 있는 것은 항상 . 을 이용하여 접근한다.
run.py :
1
2
3
|
import shapes.volume
print(shapes.volume.cube(3))
|
cs |
실행결과 :

두 번째, from <package> import <module(s)>
패키지 안의 모듈을 바로 가져올 수 있다.
run.py :
1
2
3
|
from shapes import volume
print(volume.cube(3))
|
cs |
실행결과 :

세 번째, from <package.module> import <member(s)>
모듈 안에 있는 변수나 함수를 가져 올 수 있다.
run.py :
1
2
3
4
|
from shapes.volume import cube
print(cube(3))
|
cs |
실행결과 :

* as 키워드
임포트 문 뒤에 as 키워드를 써서 임포트 하는 것의 이름을 바꿀 수 있다.
shapes의 패키지의 volume모듈을 vol로 쓸 수 있다.
1
2
3
|
import shapes.volume as vol
print(vol.cube(3))
|
cs |
728x90
'파이썬 > 파이썬 개념' 카테고리의 다른 글
[Python] 사칙연산 클래스 만들기 (클래스, 생성자, 클래스의 상속, 메서드 오버라이딩) / 2021.08.10 (0) | 2021.08.10 |
---|---|
[Python] 문자열, 문자열 인덱싱, 문자열 슬라이싱 / 2021.07.29 (0) | 2021.07.29 |
[Python] init 파일, init 파일임포트, init 파일에서의 변수정의 / 2021.07.25 (0) | 2021.07.25 |
[Python] 파일 경로 / 2021.07.24 (0) | 2021.07.24 |
[Python] 모듈, 모듈 만들기, 모듈 임포트 / 2021.07.23 (0) | 2021.07.23 |