티스토리 뷰
파이썬(Python)에서는 복잡한 프로그램(소스코드)을 모듈(Modules)로 나누어 관리하는데, 이런한 모듈은 또 패키지(Packages)로 묶어서 관리할 수 있습니다. 패키지란 모듈을 디렉토리(폴더)로 구분하여 관리하는 것을 말합니다.
파이썬 패키지 (Python Packages) 디렉토리 구조
파이썬 패키지는 디렉토리(폴더) 구조로 되어있다.
위 트리 구조를 보면 animal 패키지 안에 cat, dog, rabbit 패키지가 들어있고 그 속에 eat, move, sound 모듈이 각각 포함되어 있는 것을 볼 수 있다.
__init__.py 파일은 패키지를 초기화하는 역할을 한다.
특별한 일이 없다면 Python 3.3 이후의 버전에서는 __init__.py를 생략할 수 있다. 하지만 하위 버전의 호환성을 위해 __init__.py 파일을 남겨두는 것이 좋다. (내용이 없어도 됨)
패키지로 모듈을 디렉토리로 구분하게 되면 모듈 이름이 동일한 문제를 해결할 수 있다.
패키지 내부에 있는 모듈은 일반 모듈과 동일하다.
모듈 내부에는 클래스, 함수, 변수 등이 올 수 있다.
파이썬 모듈 사용법 & 모듈 만들기 (Python Module)
파이썬 패키지 사용법
import animal.rabbit.eat
animal.rabbit.eat.eat_food()
from animal.rabbit import eat
eat.eat_food()
from animal.rabbit.eat import eat_food
eat_food()
다양한 방식으로 패키지 모듈을 사용할 수 있다.
모듈을 불러오는 임포트(import)하는 방식이 단순할수록 사용방식이 복잡해지는 것을 볼 수 있다.
편의성을 생각하면 아래의 방식이, 이름 충돌 문제를 생각하면 맨 위 방식이 좋다.
파이썬 패키지 __init__.py 파일 활용
from animal.rabbit import *
위 방식으로 디렉토리에 있는 모든 모듈을 포함시키기 위해서는 __init__.py 파일을 수정해야 한다.
* 기호로 포함시킬 모듈을 __all__ 변수로 지정한다.
import animal 또는 from animal import * 같은 방식으로 패키지 속 모듈을 전부 포함시키고 싶은 생각이 들지만 아쉽게도 이런 방식은 불가능한 방식입니다. 참고하세요.
파이썬 class 클래스 만들기 (파이썬 클래스 사용법 정리)
파이썬 if 조건문 사용법 정리 (파이썬 if elif else, 중첩 if 조건문)
- Total
- Today
- Yesterday
- 파이썬 자료형
- 라즈베리파이 NAS
- 라즈베리파이 오락실
- 라즈베리파이 나스
- 리눅스 기초
- eclipse
- 라즈베리파이
- 리눅스
- 리눅스 명령어
- 이클립스 사용법
- 파이썬 함수
- 파이썬 연산자
- 안드로이드 프로그래밍
- 파이썬 기초
- Eclipse ADT
- 파이썬
- 게임기 만들기
- mysql
- PYTHON
- 라즈베리파이 활용
- 추억의 오락실
- jsp 프로그래밍
- 리눅스 cat
- Android Studio
- 파이썬 프로그래밍
- Android Programming
- linux
- openmediavault
- raspberry pi
- 리눅스 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |