모듈
- 여러 변수와 함수를 가지고 있는 집합체
- 연관성이 높은 함수, 상수, 클래스 등을 모듈로 묶어 사용
모듈의 종류
표준 모듈
: 파이썬에 기본적으로 내장되어 있는 모듈외부 모듈
: 다른 사람들이 만들어서 배포한 모듈
외부 모듈 설치하기
- 명령 프롬프트(cmd) 창 또는 PowerShell 창에서 pip 명령을 실행
pip install 모듈 이름
pip
- 파이썬 패키지 관리 시스템
- 특정 버전의 모듈을 설치 및 제거 기능을 제공
- https://packaging.python.org/en/latest/
Beautiful Soup 모듈 설치하기
- 웹 페이지 분석 모듈
- 기상청 날씨 정보를 가져와 출력 (RSS)
Flask 모듈
- Django 모듈
- 다양한 기능 제공하는 웹 개발 프레임워크
- Flask 모듈
- 작은 기능만을 제공하는 웹 개발 프레임웤,
- cmd 또는 PowerShell에서 명령을 실행
pip install flask
- 데코레이터
@app.route()
라이브러리와 프레임워크
라이브러리
- 정상적인 제어를 하는 모듈
- 개발자가 모듈 기능을 호출하는 형태의 모듈
- 프로그램 제어의 일반적인 흐름 (정상 제어)
프레임워크
- 제어 역전이 발생하는 모듈
- 모듈이 개발자가 작성한 코드를 실행하는 형태의 모듈
- 제어 역전 (IoC : Invasion of Control)
- 개발자가 모듈의 함수를 호출하는 것이 일반적인 제어 흐름임
- 반대로 개발자가 만든 함수를 모듈이 실행하는 것은 제어가 역전된 것
함수 데코레이터
- 함수에 사용되는 데코레이터
- 대상 함수의 앞뒹 꾸밀 부가적인 내용 또는 반복할 내용을 데코레이터로 정의
데코레이터
- @로 시작하는 구문
- 함수 데코레이더의 기본
- "hello"를 출력하는 함수def hello(): print("hello")
데코레이터 장점
- functools라는 모듈을 사용할 수 있음
- 매개변수 등을 전달할 수 있어 반복되는 구문이 많아질 때 소스의 가독성을 높임