7. 모듈
2) 외부 모듈
(1) 모듈 설치하기
(2) BeautifulSoup 모듈
(3) Flask 모듈
(4) 라이브러리와 프레임워크
3) 모듈 만들기
4) 텍스트/바이너리 데이터
(1) 텍스트 데이터
(2) 바이너리 데이터
5) 디버깅
6) 데코레이터
2) 외부 모듈
- 외부 모듈: 파이썬이 기본으로 제공하지 않는 모듈 (사용자가 만든 모듈)
(1) 모듈 설치하기
- 명령 프롬포트에서 설치! (window+R → cmd 입력 or 터미널에서 입력)
- pip install 외부 모듈명:
> pip install Beautifulsoup4
Collecting soupsieve>1.2 (from Beautifulsoup4)
Downloading soupsieve-2.4.1-py3-none-any.whl (36 kB)
...
(2) BeautifulSoup 모듈
- 웹페이지 분석 모듈
- 기상청 홈페이지에서 날씨 확인하기
# 실행결과
시간: <tmef>2023-08-25 00:00</tmef>
날씨: <wf>흐림</wf>
시간: <tmef>2023-08-26 00:00</tmef>
날씨: <wf>흐림</wf>
...
(3) Flask 모듈
- 웹 개발 프레임워크 모듈
- 실행은 명령 프롬포트에 아래 2줄 입력
> set FLASK_APP=파일명
> flask run
# 실행결과
* Serving Flask app 'flask_basic' (lazy loading)
...
(4) 라이브러리와 프레임워크
라이브러리, library | 프레임워크, framework |
정상적인 제어 방법으로 사용하는 모듈 (개발자가 모듈을 직접 사용) |
제어 역전(IoC)이 일어나는 모듈 (모듈이 개발자의 코드를 사용) * 제어 역전: 개발자가 만든 함수를 모듈이 실행하는 것 |
예) math 모듈 | 예) Flask 모듈 |
3) 모듈 만들기
- 두 파일(실행 코드가 작성된 파일, 읽어들이는 main 파일)을 생성
# 실행결과
__main__
엔트리 포인트입니다. B
- 엔트리 포인트 = 메인: 프로그램의 진입점
- 모듈 내 __name__: 모듈명(파일명)을 의미
- __name__ == "__main__": 현재 파일이 엔트리포인트인지 확인
# 실행결과
__main__
module_test (→ 파일명 출력)
10
20
30
엔트리 포인트입니다. A
4) 텍스트/바이너리 데이터
텍스트 데이터, text data | 바이너리 데이터, binary data |
텍스트 에디터에서 편집할 수 있는 데이터 | 텍스트 에디터로 편집할 수 없는 데이터 → 전용 편집기 필요 (예, 포토샵 등) |
용량이 큼 | 용량이 작음 |
(1) 텍스트 데이터
- 텍스트 데이터는 편집 가능해서 기존과 동일하게 작성
(2) 바이너리 데이터
- 바이너리 데이터(이미지)는 편집 불가능이라 "rb", "wb"로 작성
* read byte, write byte
# 실행결과
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x07I\x00\x00\x05\x1a\x08\x06\x00\x00\x00\x80jK\xa1\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\tpHYs\x00\x002\xc0\x00\x002\xc0\x01(dZ\xdb\x00\x00\xff\xa5IDATx^\xec\x9d\x07\\\x14\xf7\xd6'
5) 디버깅
- 중단점(breakpoint): 왼쪽에 줄 번호를 클릭하면 표기되는 붉은색 점
- 디버그(debug): 버그(예상하지 못한 오류)를 제거하는 것
- 디버그 실행 방법
- 디버그를 실행하면 중단점에서 멈추고, '계속' 버튼 클릭을 통해 다음 단계로 실시
- 변수, 조사식, 호출 스택으로 코드의 상태/흐름을 알 수 있음
6) 데코레이터
- @로 시작하는 구문으로, 미리 만든 규격화된 처리를 적용할 때 사용
- @데코레이터 + 함수 ↔ 함수 = 데코레이터(함수)
예) @deco ↔ test = deco(test)
# 실행결과
미리 처리합니다
안녕하세요
'혼공학습단 > 혼자 공부하는 파이썬' 카테고리의 다른 글
[혼공학습단 파이썬] #8-2. 클래스 추가 기능(프라이빗 변수, 게터와 세터, 프로퍼티, 상속) (0) | 2023.08.17 |
---|---|
[혼공학습단 파이썬] #8-1. 클래스(인스턴스, 생성자, 메소드) (0) | 2023.08.16 |
[혼공학습단 파이썬] 10기, 5주차 미션 (0) | 2023.08.13 |
[혼공학습단 파이썬] #7-1. 표준 모듈(math, random, sys, datetime, urllib, os) (0) | 2023.08.12 |
[혼공학습단 파이썬] #6-2. 예외 고급, Exception (0) | 2023.08.11 |