본문 바로가기

Python37

파이썬 클래스와 객체 클래스란? 클래스는 사전에 정의된 특별한 데이터와 메서드의 집합입니다. 클래스에 선언된 모양 그대로 생성된 실체를 객체(object)라고 합니다. 객체가 소프트웨어에 실체화될 때(메모리에 할당되어 사용될 때), 이 실체를 인스턴스라고 합니다. 객체는 인스턴스를 포함할 수 있으며, 포괄적인 의미를 지닙니다. 파이썬은 다음과 같이 클래스를 생성할 수 있습니다. class Calculator: def __init__(self): self.result = 0 def add(self,num): self.result +=num return self.result cal1 = Calculator() print(cal1) ## 출력 값 # 다음과 같이 파이썬 클래스 인스턴스가 생성된 것을 확인할 수 있습니다. 여기서 객.. 2020. 12. 9.
파이썬 파일 처리하기 파이썬 파일 처리하기 파이썬에서는 파일을 처리하기 매우 쉽고 편합니다. 파일입출력을 통해 파일에 있는 글을 읽어서 입력을 하고 또한 결과값을 메모장과 같은 파일에 저장하는 프로그램을 만들 수 있습니다. 먼저 파일을 생성하기 위한 간단한 코드를 살펴 보겠습니다. 파일 객체 = open(파일 이름, 파일 열기 모드, encoding) ## 예시 f = open('test001.txt','w',encoding="utf8") 여기서 'w'는 파일을 쓰기위한 쓰기 모드입니다. 파일 열기 모드에는 다음과 같은것들이 있습니다. 파일 열기 모드 설명 r 읽기 모드 - 파일을 읽기만 할 때 사용 w 쓰기 모드 - 파일에 내용을 쓸 때 사용 a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용 r+ 읽기와 쓰기.. 2020. 12. 7.
크롤링한 데이터 DB에 저장하기 크롤링한 데이터를 데이터 베이스에 저장하는 이유 먼저 크롤링한 데이터를 DB에 저장하는 이유는 데이터 분석에 사용하거나 웹 API를 만들어서 애플리케이션에서 활용하기 위해서 사용합니다. 또한 처리속도면에서도 데이터베이스를 사용하는것이 좋고 AWS나 AZURE과 같은 다양한 클라우드 내에 있는 데이터베이스를 활용하면 더욱더 좋게 사용할 수 있습니다. MySQL사용하기 먼저 MySQL이 설치 되어있다고 가정하고 진행하겠습니다. MySQL은 아래 링크에서 다운로드 받을 수 있습니다. 링크 : www.mysql.com/downloads/ MySQL :: MySQL Downloads Contact MySQL | Login | Register The world's most popular open source dat.. 2020. 10. 28.
Wget을 이용해서 크롤링 시작하기(체험하기) Wget이란 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램으로, GNU 프로젝트의 일부입니다. 이 프로그램의 이름은 월드 와이드 웹과 get에서 합쳐진 Wget입니다. Wget은 HTTP, HTTPS, FTP 프로토콜을 통해 내려받기를 지원합니다. 또한 Wget은 단순하게 파일을 내려받는 용도 외에도 웹 페이지를 재귀적으로 순회하며 내려받거나, HTML 링크를 상대 경로에서 절대 경로로 변환하는 기능도 제공합니다. 이렇게 Wget은 크롤링으로 다양한 기능을 사용할 수 있습니다. Wget설치하기 MacOS에서 설치하기 먼저 MacOS는 터미널에 들어가서 Homebrew를 통해 간단하게 설치를 할 수 있습니다. brew install wget 또는 다음과 같은 사이트에 들어가서 다운로드를 받을 수 있습니다.. 2020. 10. 27.
key와 lambda를 이용한 정렬 리스트를 보면 [[키,값],[이름,점수],[상품,가격],[단어(단어길이]] 이런 식으로 된 값들을 정렬하라는 문제들을 확인 할 수 있습니다. 하지만 파이썬을 이용하면 이러한 문제들은 key와 lambda를 이용해서 아주 쉽게 해결할 수 있습니다. 먼저 처음 예시는 간단하게 과일을 이름순으로 정렬하고 그다음 가격이 낮은 순으로 정렬하겠습니다. 먼저 과일의 값들은 아래와 같습니다. data = [ ["고구마",25000], ["바나나",123232], ["파인애플",4500], ["감자",3000], ["금귤",6000] ] 가격을 기준으로 정렬하겠습니다. data.sort(key = lambda x:x[1]) print(data) ## 출력 값 #[['감자', 3000], ['파인애플', 4500], ['.. 2020. 10. 20.
최장 증가 부분 수열(LIS)-개념 최장 증가 부분 수열 문제는 동적 계획법(DP)로도 풀 수 있는 유명한 알고리즘 문제입니다. 최장 증가 부분 수열 정의 어떤 임의의 수열이 주어질 때, 이 수열에서 몇개의 수들을 제거해서 부분수열을 만들 수 있습니다. 이때 만들어진 부분수열 중 오름차순으로 정렬된 가장 긴 수열을 최장 증가 부분 수열이라고 합니다. 먼저 예시를 들겠습니다. [2,11,4,55,7,9,13,3] 이라는 수열이 있습니다. 이제 이것을 최장 증가 부분 수열로 정리 하겠습니다. 11 제거 [2,4,55,7,9,13,3] 55제거 [2,4,7,9,13,3] 3제거 [2,4,7,9,13] 이렇게 LIS가 나올수 있는데 한 수열 내에서 여러개의 LIS가 나올수 있습니다. 먼저 O(N^2) 알고리즘에 대해서 설명하겠습니다. O(N^2).. 2020. 10. 6.