티스토리 뷰
파이썬(python) 모듈(module)의 이해
파이썬(Python)은 인터프리터이지만 매번 대화식 모드에서 입력하면 불편하겠죠. 그래서 파이썬(Python) 코드를 .py 란 확장자로 저장해 놓고 나중에 다시 실행하도록 한 것이 모듈입니다. 즉 모듈(module)은 파이썬(Python)으로 프로그래밍 된 코드가 들어 있는 파이썬(Python) 프로그램 파일이나 C로 만들어진(프로그래밍된) 파이썬(Python) 확장 파일을 말합니다.
모듈의 장점
1. 한번 모듈(module)로 만들어 놓으면 해당 코드는 계속 재사용할 수 있습니다.
2. 모듈 단위로 코드의 개념을 분리해 놓으면 효율성이 높아집니다.
3. 별도의 이름 공간(name space)를 갖는 모듈의 특성상 다른 모듈에 영향을 받지 않고 독립적인 작업을 할 수 있습니다.
모듈의 사용
파이썬(Python)에서 한 모듈(module)에서 다른 모듈(module)을 불러 오려면 import 구문을 사용합니다. 아래에 다양한 모듈 사용 예를 들어 보았습니다.
사용 예제 : import <모듈명>
1. import module_name
2. from module_name import module_attribute
3. from module_name import *
4. import long_module_name as short_module_name
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world")import django.http.HttpResponse
def hello(request):
return HttpResponse("Hello world")
1. module_name.py 모듈(module)을 임포트(import) 합니다.
2. module_name.py 모듈의 속성(attribute) 즉 함수나 클래스를 임포트(import) 합니다.
3. module_name.py 모듈의 모든 속성을 임포트(import) 합니다.
4. 모듈의 이름이 긴 경우 짧은 이름으로 임포트(import) 합니다.
여러 개의 모듈들을 계층별로 묶어서 구조화 한 것을 패키지(Package)라 합니다. 가령 다음과 같은 car 패키지가 있을 수 있겠네요. 한가지 작업에 필요한 부분들을 폴더 별로 묶은 것입니다.
car/__init__.pyhandle/__init__.pydfa.pywob.pydoor/__init__.pysoq.pywod.pywheel/__init__.pysow.pysod.py
생소한 __init__.py 파일은 패키지 초기화를 위한 파이썬 코드가 들어있습니다. 다시 위의 예제로 돌아가서 from django.http import HttpResponse 의 의미는 패키지 django.http 모듈의 HttpResponse 속성 즉 HttpResponse 클래스를 임포트 하라는 의미네요.
정리
파이썬에서 모듈은 미리 작성된 파이썬 프로그래밍 코드이고 이러한 묶음을 패키지라 하며 현재 모듈에서 사용하기 위해서는 import 구문을 사용한다. (참고 : import 구문은 모듈 내에 있는 name들을 현재의 name space로 불러들이는 것과 같은 의미)
'잉고래의 코딩' 카테고리의 다른 글
장고(Django)의 템플릿(Templates)이 필요한 이유 (0) | 2013.04.16 |
---|---|
자바(Java)와 자바스크립트(JavaScript)의 차이는 인도와 인도네시아의 차이와 같다? (0) | 2013.04.14 |
묵시적 선언(implicit declaration) 오류의 이해 (0) | 2013.04.11 |
프로그래밍 통합개발환경 이클립스(Eclipse)의 소개 (0) | 2013.04.10 |
알고 넘어가자 웹 애플리케이션, 웹 애플리케이션 프레임워크 정의 혹은 의미 (0) | 2013.04.10 |
- Total
- Today
- Yesterday
- CSS
- 아이나비 패드
- 블로그
- qxd1000a
- 독후감
- X1 DASH
- c언어
- 아이나비 탭 xd9
- 소니 핸디캠
- 아이나비
- 독서
- Sony
- 팅크웨어
- AXP35
- 아이나비 태블릿
- 티스토리챌린지
- 서평
- 소니 AXP35
- SM5
- cc2530
- 소니
- 캠코더
- 아이나비 탭 XD11 Pro
- 오블완
- 박근혜
- 티스토리
- 한빛미디어
- 소니 캠코더
- 블랙박스
- 아이나비 Tab XD9
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |