반응형
파이썬에서 패키지(Package)란 라이브러리와 동일한데 모듈(Module)들의 합이라고 보면 된다
모듈이란 메소드, 변수, 클래스가 들어있는 파일을 말한다
먼저 패키지를 작성하는 방법은
프로젝트에서 우클릭 후 New > Python Package로 작성해 주면 된다
패키지 작성 시에 바로 __init__.py 파일이 생기는데
이 파일을 통해 패키지 import 시 무슨 모듈들을 가져올지 선택해줄 수 있다
일단은 call 메소드를 가지고 있는 Cat, Dog 클래스를 생성한다
다음으로는 __init__.py 파일에서
위에 생성한 Cat과 Dog 메소드를 import 시에 사용할 수 있게 지정을 해줘야 하는데
from .파이썬파일명 import 클래스명 으로 파이썬 파일 안에서 하나의 클래스를 지정해주거나
from .파이썬파일명 import * 로 파이썬 파일 내 모듈 전체를 지정해 줄 수 있다
__init__.py 파일을 작성한 후
다른 파이썬 파일에서
from 패키지명 import 클래스명으로 패키지 내의 특정 클래스를 가져오거나
from 패키지명 import * 으로 패키지의 전체 모듈을 가져올 수 있다
이후 출력을 해 보면
import가 잘 되어 Dog, Cat 클래스를 생성하지 않고도 객체화 후
Call 메소드가 출력이 되는 것이 보인다
예제에 사용한 코드는 아래와 같다
패키지
class Cat:
@staticmethod
def call(self):
print("meow")
class Dog:
@staticmethod
def call(self):
print("woof")
from .dog import Dog # 해당 폴더의 dog.py 파일에서 Dog 클래스 가져오기
from .cat import Cat # 해당 폴더의 cat.py 파일에서 Cat 클래스 가져오기
from .cat import * # 해당 폴더의 cat.py 파일에서 모듈 전체 가져오기
import 받아 사용 시
from animal import Dog # animal 패키지의 Dog 클래스 불러오기
from animal import Cat # animal 패키지의 Cat 클래스 불러오기
from animal import * # animal 패키지의 모든 모듈 가져오기
a = Dog
a.call(a) # Dog 클래스의 call 메소드 호출
b = Cat
b.call(b) # Cat 클래스의 call 메소드 호출
반응형
'Language > Python' 카테고리의 다른 글
파이썬 파이참으로 라이브러리 설치방법 (0) | 2020.01.29 |
---|---|
파이썬 상속 예제 및 사용법 (1) | 2020.01.28 |
파이썬 생성자(__init__) 개념 및 예제 (0) | 2020.01.27 |
파이썬 self는 무슨 의미? (0) | 2020.01.27 |
파이썬 클래스 예제 및 사용법 (0) | 2020.01.20 |
댓글