반응형
모듈이란?
- 함수나 변수, 또는 클래스만을 모아놓은 파일
- 여러 함수를 한번에 불러들여 재사용
- 다른 파이썬 프로그램에서 사용할 수 있게 만들어 놓은 파일
- 파이썬 확장자 .py로 만든 파일은 모두 모듈
- Import는 이미 만들어 놓은 파이썬 모듈을 사용할 수 있게 해주는 명령어니 파일이름.py를 사용하지 않도록 주의
- import moduleSample (Good)
- import moduleSample.py (Bad)
모듈 예제
- 모듈을 저장한 디렉토리로 이동 후
- 대화형 인터프리터 실행
- 모듈을 import
- 모듈 안의 함수 사용하기
- 결과값 도출 성공
모듈 이름 없이 함수만 사용하고 싶은 경우
from 모듈이름 import 모듈 함수
특정 함수 불러오기
,(컴마)로 구분
모든 함수 불러오기
*로 부른다
if __name__ == “__main__”
Main 함수란
- 프로그램 작성 시 기능(함수)들을 수행하기 위한 처음 시작이 되는 함수
- 모든 프로그램은 하나의 시작점만 있기 때문에 하나의 main 함수만 가지게 된다
모듈에서 if __name__ == “__main__”을 사용하는 이유
- 모듈 프로그램을 직접 실행할 경우 if __name__ == “__main__” 가 참이 되어 하위 함수 실행가능
- Import 해서 간접 실행하는 경우에서는 if __name__ == “__main__” 가 거짓이 되어 하위 함수 실행되지 않음(이 경우 __name__에 모듈 이름이 저장됨)
- 모듈은 그 안의 함수나 클래스만을 차용하기 위해 import 하는 것이 주 목적이기 때문에 모듈의 if __name__ == “__main__” 하위의 함수는 무시됨
모듈 안의 클래스, 변수
변수 불러오기
클래스 불러오기
파일과 파일간의 모듈 사용
패키지
- 도트(.)를 사용하여 파이썬 모듈을 디렉토리 구조로 관리
- 모듈의 그룹화
- [ 패키지.모듈 ] 형식으로 제작
패키지 구조 사용 이유
- 유지보수, 공동작업 용이
- 이름이 겹치더라도 안전하게 사용가능
__init__.py
- 해당 디렉토리가 패키지의 일부임을 알려준다
- 이 파일이 없으면 패키지로 인식하지 않음
예외 처리
예외처리에는 try, except를 사용한다
오류의 종류
- 없는 파일을 열려고 시도할 때 => FileNotFoundError
- 0으로 나누려고 시도할 때 => ZeroDivisionError
- 없는 인덱스를 호출하려고 할 때 =>IndexError
3가지 예외처리 종류
첫번째의 경우
- 오류 종류 상관없이 발생하면 except 블록 수행
두번째의 경우
- except에 지정한 발생 오류가 일치할 때만 except 블록 수행
세번째의 경우
- 2번에서 오류 메세지의 내용까지 알고 싶을 때 사용
Finally
Try문 예외 관계 없이 무조건 수행
사용한 리소스를 닫을 때 자주 사용
여러 개 오류처리 및 무시
여러 개 오류 처리시에는 except를 원하는 만큼 써준다
무시할 경우는 pass를 사용한다
오류 일부러 발생시키기
-
Raise를 사용한다
내장함수
학습을 위한 재생산은 가능하나 그런 목적이 아니라면 있는 것을 다시 만드는 것은 불필요한 과정이다. 있는 것을 사용하는 것이 더 효과적
- 내장함수는 import 하지 않아도 파이썬 내부에서 사용할 수 있는 함수들
- abs: 절대값
- all: 모두가 참이어야 참, 하나라도 거짓이면 거짓
- any: 하나라도 참이면 참, 모두 거짓이면 거짓
- enumerate: 순서가 있는 자료형 인덱스와 함께 열거
- id: 객체 주소값
- len: 길이
외장함수
파이썬의 외장함수는 라이브러리를 의미한다
- 자주 쓰이는 외장함수
- sys : 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
- pickle :객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈
- os: 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈
- shutil: 파일을 복사해 주는 파이썬 모듈
- glob: 특정 디렉터리에 있는 파일 이름 모두를 알아야 할 때 사용하는 모듈
- tempfile: 파일을 임시로 만들어서 사용할 때 유용한 모듈
- time: 시간과 관련된 모듈
- calendar: 파이썬에서 달력을 볼 수 있게 해주는 모듈
- random: 난수(규칙이 없는 임의의 수)를 발생시키는 모듈
- webbrowser: 자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈
반응형
'파이썬' 카테고리의 다른 글
크롤링) Selenium을 이용하여 크롤링하기 (0) | 2020.05.11 |
---|---|
크롤링) 크롬드라이버 버전 연동이 안될 때 해결방법 (1) | 2020.05.09 |
코딩일기1: 파이썬 이미지 로드가 안될때 (1) | 2019.09.13 |
클래스 (0) | 2019.09.13 |
파이썬 메모리 영역 (1) | 2019.09.11 |