파이썬

파이썬 모듈

이소금 2019. 9. 16. 10:57
반응형

모듈이란?

  • 함수나 변수, 또는 클래스만을 모아놓은 파일
  • 여러 함수를 한번에 불러들여 재사용
  • 다른 파이썬 프로그램에서 사용할 수 있게 만들어 놓은 파일
  • 파이썬 확장자 .py로 만든 파일은 모두 모듈
  • Import는 이미 만들어 놓은 파이썬 모듈을 사용할 수 있게 해주는 명령어니 파일이름.py를 사용하지 않도록 주의
    • import moduleSample (Good)
    • import moduleSample.py (Bad)

 

모듈 예제

  1. 모듈을 저장한 디렉토리로 이동 후
  2. 대화형 인터프리터 실행
  3. 모듈을 import
  4. 모듈 안의 함수 사용하기
  5. 결과값 도출 성공

모듈 예제
사용한 모듈

모듈 이름 없이 함수만 사용하고 싶은 경우

from 모듈이름 import 모듈 함수

 

특정 함수 불러오기

,(컴마)로 구분

모든 함수 불러오기

*로 부른다

 

if __name__ == “__main__”

 

Main 함수란

  • 프로그램 작성 시 기능(함수)들을 수행하기 위한 처음 시작이 되는 함수
  • 모든 프로그램은 하나의 시작점만 있기 때문에 하나의 main 함수만 가지게 된다

모듈에서 if __name__ == “__main__”을 사용하는 이유

  • 모듈 프로그램을 직접 실행할 경우 if __name__ == “__main__” 가 참이 되어 하위 함수 실행가능
  • Import 해서 간접 실행하는 경우에서는 if __name__ == “__main__” 가 거짓이 되어 하위 함수 실행되지 않음(이 경우 __name__에 모듈 이름이 저장됨)
  • 모듈은 그 안의 함수나 클래스만을 차용하기 위해 import 하는 것이 주 목적이기 때문에 모듈의 if __name__ == “__main__” 하위의 함수는 무시됨

 

모듈 안의 클래스, 변수

변수 불러오기

클래스 불러오기

 

파일과 파일간의 모듈 사용

위의 모듈을 import해서 사용

패키지

  • 도트(.)를 사용하여 파이썬 모듈을 디렉토리 구조로 관리
  • 모듈의 그룹화
  • [ 패키지.모듈 ] 형식으로 제작

패키지 구조 사용 이유

  • 유지보수, 공동작업 용이
  • 이름이 겹치더라도 안전하게 사용가능

__init__.py

  • 해당 디렉토리가 패키지의 일부임을 알려준다
  • 이 파일이 없으면 패키지로 인식하지 않음

패키지의 예시

 

예외 처리

예외처리에는 try, except를 사용한다

오류의 종류

  • 없는 파일을 열려고 시도할 때 => FileNotFoundError
  • 0으로 나누려고 시도할 때 => ZeroDivisionError
  • 없는 인덱스를 호출하려고 할 때 =>IndexError

예외처리 문법

 

3가지 예외처리 종류

첫번째의 경우

  • 오류 종류 상관없이 발생하면 except 블록 수행

두번째의 경우

  • except에 지정한 발생 오류가 일치할 때만 except 블록 수행

세번째의 경우

  • 2번에서 오류 메세지의 내용까지 알고 싶을 때 사용

 

Finally

Try문 예외 관계 없이 무조건 수행

사용한 리소스를 닫을 때 자주 사용

 

여러 개 오류처리 및 무시

여러 개 오류 처리시에는 except를 원하는 만큼 써준다

무시할 경우는 pass를 사용한다

 

오류 일부러 발생시키기

  • Raise를 사용한다

인풋이 토마토일 때 notFruit라는 에러를 발생시킨다

내장함수

학습을 위한 재생산은 가능하나 그런 목적이 아니라면 있는 것을 다시 만드는 것은 불필요한 과정이다. 있는 것을 사용하는 것이 더 효과적

  • 내장함수는 import 하지 않아도 파이썬 내부에서 사용할 수 있는 함수들
    • abs: 절대값
    • all: 모두가 참이어야 참, 하나라도 거짓이면 거짓
    • any: 하나라도 참이면 참, 모두 거짓이면 거짓
    • enumerate: 순서가 있는 자료형 인덱스와 함께 열거
    • id: 객체 주소값
    • len: 길이

 

외장함수

파이썬의 외장함수는 라이브러리를 의미한다

  • 자주 쓰이는 외장함수
    • sys : 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
    • pickle :객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈
    • os: 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈
    • shutil:  파일을 복사해 주는 파이썬 모듈
    • glob: 특정 디렉터리에 있는 파일 이름 모두를 알아야 할 때 사용하는 모듈
    • tempfile: 파일을 임시로 만들어서 사용할 때 유용한 모듈
    • time: 시간과 관련된 모듈
    • calendar: 파이썬에서 달력을 볼 수 있게 해주는 모듈
    • random: 난수(규칙이 없는 임의의 수)를 발생시키는 모듈
    • webbrowser: 자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈
반응형