4장 모듈

모듈은 한 파일에 모아둔 함수 모음이다. 


* 모듈 생성하기

  - 설명 : .py를 확장자로 가진 파일에 def로 함수를 선언하여 저장한다. 이때 [모듈명].py 파일이 저장되며, 이는 [모듈명] 모듈이 생성된 것이다.


  

* 모듈 가져오기 

  - 형식 : import [모듈명]

    + 모듈명 : 보통 파이선 파일 이름이 모듈명이 된다. (test.py -> test)

 

 

* 모듈 도움말 보기

  - 설명 : 모듈을 Import 한 이후 help 명령어를 이용한다.

  - 형식 : help([모듈명])

    

    

* 모듈 사용하기

  - 설명 : 모듈에 선언되어 있는 함수들을 사용하는 방법은 모듈명에 점(.)을 붙여 함수를 호출한다.

  - 형식 : [모듈명].[함수명]([매개변수])

    + 함수명 : 모듈에 def로 지정한 이름을 함수명으로 사용한다.

    + 매개변수 : 함수에 매개변수가 지정되어 있으면 매개변수를 같이 사용한다.

    

    

* 모듈에 있는 특정 함수만 가져오기

  - 설명 : 모듈에 사용하고자 하는 함수만 Import할 수 있으며, 사용할때는 모듈명을 이용하지 않고 함수명을 가지고 바로 실행할 수 있다.

  - 형식 : from [모듈명] import [함수명], [함수명], ...

    + 함수명들 : 여러 개의 함수를 Import할 수 있으며 콤마(,)로 구분한다.


    

* 모듈 도움말 작성

  - 설명 : help 메소드를 이용해 모듈 정보를 확인할 수 있는데 이때 문서화 주석을 작성해 도움말을 제공할 수 있다.

  - 방법 : ''' 문자를 이용해 주석을 작성하면 파이썬이 알아서 help로 출력할 수 있게 해준다.

  - 샘플 : 

      ### module/temp_dic.py  

      ''' 온도 처리 함수 '''

      def to_cel(t) : 

        ''' 화씨를 섭씨로 변환한다. '''

        return round((t-32.0)*5.0/9.0)

        

      def above_freezing(t) : 

        ''' 온도가 섭씨 기준으로 어는 점보다 높으면 True를, 아니면 False를 반환한다.'''

        return t>0

   

  

* 모듈 Import시 동작 원리 

  - 모듈을 Import시 컴파일러는 해당 모듈을 실행시킨다. 그래서 모듈내 함수가 아닌 일반 코드가 Import시 실행되어 진다. 이 말은 모듈 Import시 초기화 작업을 할 수 있으며, 다른 작업도 할 수 있다. 그리고 한번 메모리에 올라온 모듈은 다시 부르지 않는다.

  

  - 모듈이 실행되는 곳이 주프로그램인지 아니면 sub 프로그램인지 '__name__' 변수를 통해 확인할 수 있다.

    + 주 프로그램 : __name__ = __main__

    + sub프로그램 : __name__ = [모듈명]

  => 위 특징을 이용해 라이브러리를 사용하려는 모듈을 실행 시켰을때 도움말을 보여줄 수도 있다.

  

  

* 모듈 사용시 유의사항

  1. 모듈은 파이썬 라이브러리 폴더, 또는 파이썬 실행 위치에 존재해야 불러올 수 있다. 

  2. 내장 함수를 다음 명령어를 이용해 확인할 수 있다. 

    - 형식 : help(__builtins__)

    

  

**** 파이선 단점

  - 모듈에 상수를 정의 할 수 있는데, 다른 언어처럼 final이나 const와 같은 지정자를 이용해 변경 안되도록 할 수 없다. 즉, 상수를 만들수는 있지만, 값이 사용자에 의해 변경될 수 있다.

  

  

* 객체와 메소드

  - 파이썬에서는 모든 것들이 객체이다. 심지어 0이라는 숫자도 객체이다. 그래서 "string"의 문자열이 있으면 문자열 객체가 가진 함수를 호출 할 수 있다.

  

  

* 테스트

  - Junit처럼 파이썬을 위한 테스트 코드를 작성할 수 있는데, Nose라는 라이브러리를 사용할 수 있다.

Posted by 빌리 :