빠르게 활용하는 파이썬 3.2 프로그래밍 – 6장 모듈

 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.

빠르게 활용하는 파이썬 3.2 프로그래밍
[구매하기]

빠르게 활용하는 파이썬 3.2 프로그래밍 – 1장 파이썬 개요 및 설치, 2장 자료형 및 연산자
빠르게 활용하는 파이썬 3.2 프로그래밍 – 3장 함수
빠르게 활용하는 파이썬 3.2 프로그래밍 – 4장 제어
빠르게 활용하는 파이썬 3.2 프로그래밍 – 5장 클래스
빠르게 활용하는 파이썬 3.2 프로그래밍 – 6장 모듈
빠르게 활용하는 파이썬 3.2 프로그래밍 – 7장 예외처리
빠르게 활용하는 파이썬 3.2 프로그래밍 – 8장 입출력
빠르게 활용하는 파이썬 3.2 프로그래밍 – 10장 문자열이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 11장 날짜이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 12장 숫자이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 13장 파일 시스템을 자유자재로
빠르게 활용하는 파이썬 3.2 프로그래밍 – 14장 데이터베이스

▣ 06장 모듈
: 여러코드를 한데 묶어 다른곳에서 재사용 할수 있는 코드 모음

6.1 모듈 사용하기
– 복잡하고 여려운 기능을 포함하는 프로그램을 간단히 사용하기 위해 사용
– import 명령을 통해 모듈을 현재 이름공간에 가져옴
– dir() 함수를 사용하여 머떤 모륙에 어떤함수 혹은 데이터가 정의되어 있는지 확인가능
– 장점 : 코드의 재사용, 코드를 이름공간으로 구분하고 관리

6.2 모듈 만들기
– 사용자가 직접 모듈 생성
– 파이썬 설치 디렉토리의 lib 밑에 모듈명.py 으로 생성

6.3 모듈의 경로
– 모듈 검색 경로 : 현재디렉토리 > PYTHONPATH 환경변수의 위치 > 표준라이브러리 디렉터리
– 모듈 검색 경로 확인 :

6.4 모듈 임포트
– import 구문은 어디에서나 사용이 가능
– from 모듈 import 어트리뷰트 : 모듈의 정의된 어트리뷰트를 현재공간에 임포트, 이미 동일한 이름공간이 존재할시에는 덮어쓰기
– from 모듈 import * : 모듈중 _ 를 포함하는 어트리뷰트를 제외하고 모든 어트리뷰트를 현재이름공간으로 임포트, 모듈내부에서만 사용하는 어트리뷰트는 제외
– import 모듈 as 별칭 : 모듈을 별칭으로 변경해서 임포트

6.5 모듈 임포트 파헤치기
– 모듈의 파이트 코드(.pyc)가 있으면 바이트코드를 임포트, 바이트 코드가 없으면 모듈의 코드를 바이트코드로 만들어 임포트
– 바이트코드는 모듈의 내용이 변경되지 않는 이상 바로 로딩 -> import 가 빠르게 이루어짐
– 모듈이 임포트 되면 프로그램이나 파이썬 인터프리터가 끝나기 전까지 변경되지 않음
– 이미 로드된 모듈을 다시 로드할경우 imp.reload(모듈) 으로 reload 가능
– 모듈도 객체 형태로 생성되며, 로드시 코드가 메모리에 로딩되면서 레퍼런스로 전달됨.

6.6 __main__을 사용한 유용한 팁
– 임포트해서 모듈로 사용할때외 직접 실행항때외 다르게 동작하게 하고 싶다면? __name__ 값을 체크, 모듈로 실행시 __name__ 은 모듈명, 직집 실행시 __name__ 은 __main__이 입력
– 모듈을 작성할때 단위테스트로 활용 ( __name__에 __main__이 입력시)

6.7 패키지
– 여러개의 모듈을 하나로 묶어서 사용할때 패키지 사용
– 패키지는 모듈이름에 .을 붙여 모듈의 이름공간을 구조화하는 방법
– 패키지 디렉토리는 __init__.py 파일 이 필요함, 패키지를 초기화 하는 코드 포함
– __all__ 은 import * 을 실행할때 포함할 하위 패키지의 목록을 나타냄
– 패키지를 임포트 했을때 해당 패키지의 하위페이지는 자동으로 임포트되지 않는다.

 

This entry was posted in Python/Ruby/Perl, Reading and tagged , , . Bookmark the permalink.

댓글 남기기