혼공학습단 10기!
드디어 [혼자 공부하는 파이썬(개정판)]의 6주차 마지막 미션입니다.
6주차 - 기본 미션
[p431, 직접 해보는 손코딩: BeautifulSoup 스크레핑 실행하기] 예제 실행 후 결과 화면 캡처하기
- 기상청 홈페이지의 날씨 정보 스크레핑
6주차 - 선택 미션
[객체, object]
- 속성을 가질 수 있는 모든 것
- 객체 지향 프로그래밍: 객체 관련 코드를 효율적으로 작성하는 프로그래밍 (예, class)
[클래스, class]
- 객체를 더 효율적으로 생성하기 위한 구문, 틀
[인스턴스, instance]
- 클래스 기반으로 생성한 객체, 실체화 된 객체
[생성자, constructor]
- 클래스 이름과 같은 함수 (첫 문자는 대문자로 시작)
- class 클래스 이름
def __init__(self, 추가적인 매개변수...):
self.매개변수 = 매개변수
* self: 첫번째 매개변수, 자기자신을 나타내는 딕셔너리
[메소드, method]
- 클래스가 가진 함수
- class 클래스 이름
def 메소드 이름(self, 추가적인 매개변수...):
# 실행결과
객체가 생성되었습니다.
홍길동 20
객체가 소멸되었습니다.
[외부 모듈]
- 외부 모듈: 파이썬이 기본으로 제공하지 않는 모듈 (사용자가 만든 모듈)
(1) 모듈 설치하기
- 명령 프롬포트에서 설치! (window+R → cmd 입력 or 터미널에서 입력)
- pip install 외부 모듈명:
(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 모듈 |
[모듈 만들기]
- 두 파일(실행 코드가 작성된 파일, 읽어들이는 main 파일)을 생성
# 실행결과
__main__
엔트리 포인트입니다. B
- 엔트리 포인트 = 메인: 프로그램의 진입점
- 모듈 내 __name__: 모듈명(파일명)을 의미
- __name__ == "__main__": 현재 파일이 엔트리포인트인지 확인
# 실행결과
__main__
module_test (→ 파일명 출력)
10
20
30
엔트리 포인트입니다. A
[텍스트/바이너리 데이터]
텍스트 데이터, 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'
[클래스]
(1) 객체
- 객체(object): 속성을 가질 수 있는 모든 것
- 객체 지향 프로그래밍: 객체 관련 코드를 효율적으로 작성하는 프로그래밍 (예, class)
- 'students'가 객체이고, 딕셔너리를 아래와 같은 함수 형태로 생성하면 오타 등의 실수를 줄일 수 있음
(2) 클래스
- 클래스(class): 객체를 더 효율적으로 생성하기 위한 구문, 틀
- 인스턴스(instance): 클래스 기반으로 생성한 객체, 실체화 된 객체
(3) 생성자
- 클래스 이름과 같은 함수 (첫 문자는 대문자로 시작)
- class 클래스 이름
def __init__(self, 추가적인 매개변수...):
self.매개변수 = 매개변수
* self: 첫번째 매개변수, 자기자신을 나타내는 딕셔너리
(4) 소멸자
- 인스턴스가 소멸될 때 호출되는 함수 (생성자 반대)
- class 클래스 이름
def __del__(self, 추가적인 매개변수...):
(5) 메소드
- 클래스가 가진 함수
- class 클래스 이름
def 메소드 이름(self, 추가적인 매개변수...):
[크기 비교 함수]
eq | ne | gt | ge | lt | le |
equal | not equal | greater than | greater than or equal | less than | less than or equal |
같다 | 다르다 | 크다 | 크거나 같다 | 작다 | 작거나 같다 |
'혼공학습단 > 혼자 공부하는 파이썬' 카테고리의 다른 글
[혼공학습단 파이썬] 10기 마무리하며♡ (1) | 2023.08.27 |
---|---|
[혼공학습단 파이썬] #1. 용어, Data Types(int, dict, boolean, str, list, tuple) (0) | 2023.08.20 |
[혼공학습단 파이썬] #8-2. 클래스 추가 기능(프라이빗 변수, 게터와 세터, 프로퍼티, 상속) (0) | 2023.08.17 |
[혼공학습단 파이썬] #8-1. 클래스(인스턴스, 생성자, 메소드) (0) | 2023.08.16 |
[혼공학습단 파이썬] #7-2. 외부 모듈(BeautifulSoup, Flask), 모듈 만들기, 디버깅 (0) | 2023.08.15 |