개발을 하는 과정에서 코드를 간결하고 깔끔하게 작성하는 것 만큼 중요한 작업이 하나 있다. 바로 내가 작성한 코드를 테스트하는 것이다. 실제 개발 환경에서는 계속해서 코드가 수정되고 이에 따라 예상 값과 실제 값이 다르게 나올 수 있기 때문에 테스트하는 습관을 들이는 것이 좋다. 그저 단순히 print해서 결과 값을 확인한다면 간편하긴 하지만 그 경우가 많아질 경우 시간이 많이 걸릴 것이다. 이때 이러한 과정을 하나의 클래스를 통해 True/False를 알 수 있다면 훨씬 편할 것이다. 여러 테스트 케이스를 작성함으로써 코드를 테스트하는 과정을 유닛 테스트(Unit Test)라고 한다. import unittest def double(a): return a * 2 class TestDouble(unitt..
JSON이란 JavaScript Object Notation으로 사람이 읽을 수 있는 텍스트 기반의 데이터 교환 표준이다. (데이터를 주고 받기 위한 양식 같은거라고 생각하면 될 것 같다) XML이란 EXtensible Markup Language로 HTML과 비슷한 마크업 언어이다. (태그가 있음) 이는 사람과 컴퓨터가 읽기에 편한 구조이다. HTML : 데이터를 보여주기 위한 목적 XML : 데이터를 저장하고 전달하기 위한 목적 JSON과 XML의 공통점 데이터를 저장하고 전달하기 위해 만들어짐. 기계와 사람이 읽을 수 있는 형태임. 계층적인 데이터 구조를 가지며, 다양한 프로그래밍 언어로 파싱될 수 있음. Request 객체를 이용하여 서버로부터 데이터를 전송받을 수 있음. JSON과 XML의 차이..
# 부동산 정보 모으기 # 실거래가 정보 모으기 import requests from bs4 import BeautifulSoup # bs4라는 모듈 안에 있는 BeautifulSoup를 import -> 함수를 사용할 때 모듈이름.함수이름() 식으로 표기하지 않아도 됨! import pdb # 디버깅 패키지 url = "" pageNo = 1 numOfRows = 1000 LAWD_CD = '11110' DEAL_YMD = '202012' def get_apt_info(): raw_resp = requests.get(url, params = { 'ServiceKey': Service_Key, # 왼쪽 parameter 값은 API문서에서 정해놓은 대로 사용하되(오타 시 "INVALID REQUEST P..
API(Application Programming Interface)란 서비스와 서비스가 소통하는 것을 말한다. 클라이언트와 서버가 데이터를 주고받기 위한 시스템이라고 생각하면 된다. Mocking이란? 실제 API가 실행되기 전에 가짜 결과값을 반환하여 함수의 로직을 테스트하는 방법을 말한다. def get_stock_summary(itemcode): return { 'now' : 100, 'itemcode' : itemcode } # 실제 API를 불러오지는 않았음, 임의의 값을 설정하여 테스트 파이썬에서 API를 사용하는 방법은 request라는 패키지를 사용하는 것이다. 이를 통해 해당 API를 GET하고 데이터를 정렬하고 시각화하는 pandas라는 라이브러리(패키지)를 사용할 수 있다. impo..
모듈과 패키지는 외부에서 오픈소스를 가져올 때 알아야 할 중요한 개념이다. 개발자는 직접 무언가를 만들기도 하지만 기존에 만들어져 있는 것들을 가져와 사용할 줄 알아야 효율적으로 개발할 수 있다. 따라서 서로의 코드를 리뷰하고 피드백하며 공유하는 오픈소스 문화가 자리잡았다. 모듈이란 프로그램이 실행되는 main 파일을 제외하고 추가로 생성한 파일들을 말한다. 패키지란 이 모듈들이 하나로 모아져 '폴더' 형태로 있는 것을 말한다. # 모듈, 패키지 : 오픈소스를 가져올 때 알아야할 중요 개념 // # 모듈 : main 파일을 제외하고 추가로 생성한 파일들 (ex. sms.py) # 패키지 : 여러 모듈을 하나로 모아 놓은 것 (폴더로 구성됨) # import , # import msg.email # imp..
파이썬의 상속은 자바의 상속과 유사한 개념이다. 하위 클래스(상속을 한)는 상위 클래스(상속을 받은)의 함수를 그대로 사용할 수 있으며, 하나의 클래스에서 여러 종류의 클래스를 나눌 때 주로 사용한다. 역시나 파이썬 답게 사용법은 굉장히 간단하다. class Person: #사람 클래스 # __init__() 함수는 constructor(생성자) 함수로써, 클래스를 이용해서 만들어지는 오브젝트가 가져야하는 속성들을 지정해줘야 할 때 사용한다. def __init__(self, name, age): self.name = name # 여기서 왼쪽의 name은 변수값 name과 다름, 그저 속성값의 이름일 뿐 self.age = age def say_hello(self): print("안녕 나는 " + sel..