Quiet Time

8장. 모듈

PYTHON2017. 9. 10. 00:43
8장 모듈
- 모듈이란?
- import 사용법
- 모듈 찾는방법
■8장 목차

  1. 모듈이란. ?          : 함수 생성한 것들을 모아놓은 스크립트
  2. import사용법         : 다른 모듈내의 코드에 접근 가능하게 하는 명령어
  3. 모듈찾는방법         : sys.path의 내용을 출력해서 파이썬이 어떻게 모듈을 탐색해 나가는지 확인
  4. 메인모듈과 하위모듈  : 오늘 부터 !배울 내용
  5. 패키지
  6. __init__.py
  7. site - package

■ 8.4 메인 모듈과 하위 모듈 (p 171) 

               파이썬 문법 + 중요한 알고리즘 20가지는 외워버려야 한다.

  1. 코드를 어떻게 만드느냐? 함수 생성, 함수 생성을 한 것을 모아 놓은 모듈
  2. 코드를 어떻게 실행하느냐 ? 메인 모듈 ( 최상위 수준으로 실행되는 스크립트 ) 
                                             예 : 실뭉치의 끝

  • _name_ (내장 전역변수) 를 이용하면 지금 쓰고있느 모듈이 메인 모듈인지 하위 모듈인지 확인할 수 있다.

     메인 모듈: _name_ ---> main 이라고 나오고
     하위 모듈: _name_ ---> 모듈명으로 나온다

예제 : top_level.py 란느 이름으로 저장하고 실행

print('name : {0} '.format(__name__) )

결과 : name : __name__

예제2: sub.py 라는 이름으로저장하고 실행
print("beginning of sub.py...")
print('name : {0}'.format(__name__) ) 
print("end of sub.py...")

먼저 실행하면 결과가 어떻게 나오는가 ?


■ 8.5 패키지 
패키지란 ? 모듈을 모아놓은 디렉토리를 말한다 ( 모듈 꾸러미)

모듈일나? 실행할 함수들을 모아놓은 스크립트

글너데 평범한 디렉토리가 파이썬의 패키ㅣㅈ로 인정 바등려며 ㄴ

__ini__.py 라는 파일이 그 디렉토리 안에 있어야 한다. 

예 : d\python <--- 퍀키지로 인정을 받으려면 ?

__init__.py   <------- 비어있는 문서
calculator.py   <------ 모듈


■ 8.6 _ini_.py 에 대해 (p 175) 

_init_.py 는 보통 비워둡니다 . 이 파일을 손대는 경우는 __all__ 이라는 변수를 조정할 때이다.

__all__ 변수? 패키지로 부터 반입할 모듈의 목록을 정의하기 위해 사용한다

즉 어제 from  패키지 import * 라고 했는데 

이 * 가 패키지 내에 모든 모듈들을 반입하겠다 라는 뜻인데

그 모든 모듈들이 뭐가 있는지 파이썬이 알려며 _ini_.py에 __all__ 변수에 
아래와 같이 명시를 해줘야 한다. 

예: __all__ =['plus_module','minus_module','multiply_modue','divide_module']

  • 실습 : 
  1. d:\python 폴더 아래에 4개의 모듈을 만들어서 저장한다. 
-- plus_module.py로 아래의 스크립트를 저장 


def plus(a,b):
     return a+b

-- minus_module.py로 아래의 스크립트를 저장

def minus(a,b):
     return a-b

-- multiply_module.py로 아래의 스크립트를 저장

def multiply(a,b):
     return a*b

  1. d:\python 폴더 아래에 _ini_.py에 아래의 내용을 저장
__all__ =['plus_module','minus_module','multiply_moduㅣe']
  1. d:\python 폴더의 상위 디렉토리에 cal_test.py라는 이름으로 아래의 스크립트를 저장하고 실행

from python import *

print ( calculator.plus(10,5))
print ( calculator.minus(10,5))


■8.7 site - package 에 대해서 

 site - package 란 파있너 기본 라이브러리 패키지외에 추가적인 패키지를 설치하는 디렉토리이다.

 site - package 디렉토리에 여러가지 소프트웨어가 사용할 공통 모듈을 넣어두면 ㅁ루리적안장소에 구애받지 않고 모듈에  접근하여 반입할 수 있다.

import sys

sys.path
C:\ProgramData\Anaconda30\Lib\site-packages
문제 163. d:\my_loc2라는 디렉토리를 만들고 cal_test.Py 스크립트를 가져다 두고 실행해보세요 

'PYTHON' 카테고리의 다른 글

gcp를 이용해서 jupyter notebook / jupyter lab 서버 만들기  (0) 2018.08.27
9장. 객체와 클래스 (가장 중요한 단원)  (0) 2017.09.10
7장. 함수  (0) 2017.09.10
6장. if 문과 loop문 (p126)  (0) 2017.09.10
1-5장  (0) 2017.09.10