목록프로그래밍/Python (7)
Seung's Learning Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bExccU/btsGqQuSq5O/OxsYv8Ik5C6TvBWg12xTx1/img.png)
≣ 목차 Seaborn 개념 Seaborn은 python에서 제공하는 데이터 시각화를 위한 라이브러리이다. Matplotlib을 기반으로 만들어졌으며, 데이터 시각화를 보다 쉽고 가시적으로 진행할 수 있게끔해준다. seaborn 자체에 내장된 penguins dataset을 활용해 사용법에 익숙해져보자. 사용할 데이터 셋의 구성은 다음과 같다. species : 펭귄 종 island : 서식지 bill_length_mm : 부리 길이 bill_depth_mm : 부리 위아래 두께 flipper_length_mm : 팔 길이 body_mass_g : 몸무게 sex : 성별 import seaborn as sns data = sns.load_dataset('penguins') # 데이터 로드 data = d..
≣ 목차 이전 포스팅에서 알아본 BeautifulSoup는 주로 정적인 웹 페이지에서의 데이터 추출을 위해 사용되는 라이브러리이다. 하지만 우리가 평소 사용하는 웹 사이트는 동적인 웹 페이지로 구성되어있는 경우가 더 많다. 이러한 경우에 사용할 수 있는 웹 스크래핑 도구인 Selenium에 대해서 알아보자. Selenium Selenium 이란? selenium은 웹 어플리케이션의 동적인 요소와 상호작용하기 위한 자동화 도구로 사용된다. 실제 브라우저를 제어하여 자바스크립트를 실행하고, 클릭, 텍스트 입력 등의 사용자 동작을 시뮬레이션한다. 기본적인 사용법 selenium 라이브러리에 있는 webdriver 모듈을 통해 웹 사이트에 직접적으로 접근해 제어가 가능하다. 크롬을 통해 웹 사이트에 접근할 것이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oWjWL/btsGlvRVHQr/mw3miFH6kMOdKKrVpWqNb0/img.png)
≣ 목차 지난 포스팅에서는 웹 스크래핑과 웹 크롤링 두 가지 개념에 대해서 간략하게 알아봤었다. 오늘은 웹 스크래핑에 사용되는 Python 라이브러리 중 하나인 BeautifulSoup에 대해서 알아보자. BeautifulSoup BeautifulSoup 란? 위에서 말했듯이, BeautifulSoup는 웹 스크래핑을 위한 파이썬 라이브러리이며, 주로 HTML 및 XML 문서에서 데이터를 추출하고 구문을 분석하는 데 사용된다. 일반적으로 requests 메서드를 통해 가져온 값을 HTML로 파싱 후, 변환된 값에 beautifulSoup를 적용하며 사용한다. 사용법 beautifulSoup의 기본적인 사용법은 다음과 같다. 우선 라이브러리를 import한 후 객체를 생성해 메서드들을 사용하기만 하면 되기..
≣ 목차 PEP8 스타일 PEP 8 PEP8 : 파이썬 개선 제안서, 파이썬 코드를 어떻게 구상할 지 알려주는 스타일 가이드 PEP8 전체 가이드 다른 사람과 원활하게 협업하려면 공통된 스타일 공유가 필요 일관성 있는 스타일은 나중에 수정하기도 쉽다. whitespace 한 줄의 문자 길이가 79자 이하여야 한다. 함수와 클래스는 빈 줄 두개로 구분한다. 클래스에서 메서드는 빈 줄 하나로 구분한다. 변수 할당 앞 뒤에 스페이스를 하나만 사용한다. 리스트 인덱스, 함수 홏ㄹ, 키워드 인수 할당에는 스페이스를 사용하지 않는다. naming 함수, 변수, 속성 : lowercase_underscore 보호(protected) 인스턴스 속성 : _leading_underscore 비공개(private) 인스턴스..
≣ 목차 큐 큐 자료를 보관할 수 있는 선형 구조로 push(enqueue)와 pop(dequeue)이 반대에서 이루어지기 때문에 선입선출(FIFO)방식을 채택한 자료구조이다. 큐는 자료를 생성하는 작업과 그 자료를 이용하는 작업이 비동기적으로 일어날 때 사용된다. 또한 자료 생성이 여러 곳에서 발생하거나, 자료 이용이 여러 곳에서 발생할 때 사용된다. 스택과 마찬가지로 큐 역시 배열(리스트)과 연결 리스트(이중 연결 리스트)를 이용하여 구현가능하다. 연산 종류 설명 배열 시간 복잡도 연결 리스트 시간 복잡도 size() 현재 큐에 들어 있는 데이터 원소 수 반환 O(1) O(1) isEmpty() 현재 큐가 비어 있는지 판단 O(1) O(1) enqueue() 원소 x를 큐에 push O(1) O(1)..
≣ 목차 리스트 파이썬에는 다른 언어들에서 다뤄지는 배열과 유사한 성질의 리스트(list)라는 자료구조가 존재한다. 동일한 자료형만 가질 수 있는 배열과는 달리, 리스트는 다양한 자료형을 하나의 리스트 안에 담을 수 있다. 선언 방법 a = [1,2,'a','b',"xyz"] b = [] c = list() d = [0]*10 #[0,0,0,0,0,0,0,0,0,0] e = [i*2 for i in range(5)] #[0,2,4,6,8] 리스트는 위와 같은 다양한 방법을 통해 선언이 가능하다. 연산 a = [1,2,3] b = ['a','b','c'] c = a+b #[1,2,3,'a','b','c'] d = a*3 #[1,2,3,1,2,3,1,2,3] e = a*0 #[] 이처럼 리스트 사이의 덧셈이..
≣ 목차 알고리즘 시간 복잡도 알고리즘을 풀때는 제한 시간내에 코드가 실행 완료되는것이 중요하다. 이를 위해 우리는 알고리즘의 시간복잡도와 공간 복잡도가 어떠한가를 미리 파악한 후 이에 맞는 문제 풀이 방법을 생각해내야 한다.이러한 복잡도를 표현하는 방법 중 가장 흔히 사용되는 방법은 빅오 표기법(big-O notation)이다. 이에 관한 설명은 아래 링크에 자세히 작성되어 있다. https://seung2344.tistory.com/22 리스트 파이썬에는 다른 언어들에서 다뤄지는 배열과 유사한 성질의 리스트(list)라는 자료구조가 존재한다. 동일한 자료형만 가질 수 있는 배열과는 달리, 리스트는 다양한 자료형을 하나의 리스트 안에 담을 수 있다. 선언 방법 a = [1,2,'a','b',"xyz"]..