TIL
-
TIL.36 selenium을 이용한 이미지 크롤링 자동화TIL 2020. 11. 13. 19:13
step . 1 : 파이썬 가상 환경 세팅하기 ## 출처 : 유투브 조코딩님 venv 가상 환경을 이용해 파이썬내에서 가상 환경을 세팅해보자 파이썬 버전이나 라이브러리가 각각 만들고자하는 프로젝트별로 호환등의 이유로 다를 수 있는데 한 컴퓨터 내에서 python 3.8 / python 3.5/ python 2.7 등을 선택해서 사용해야하는 환경을 만들어 줘야하는데 이를 가상 환경이라 하며 venv 가상 환경을 사용하였다. 이를 ven 가상 환경을 만들어주는 방법으로 구현해보자 # 터미널 창에서 아래 venv 명령을 실행하여 만들어 진다. python3 -m venv /path/to/new/virtual/environment # 여기서 내 컴퓨터에는 python3 -> python venv 뒤의 경로는 s..
-
TIL.35 두점 사이의 거리 구하기TIL 2020. 11. 12. 20:47
## 두점 사이 거리 구하기 ## 클래스를 이용하여 2차원 평면의 x, y 점을 구현하고 이 두 점 사이의 거리를 구해보자. class Point2D: def __init__(self, x, y): self.x = x self.y = y p1 = Point2D(30, 20) p2 = Point2D(60, 50) print('p1 {} {}'.format(p1.x, p1.y)) # p1 30 20 print('p2 {} {}'.format(p2.x, p2.y)) # p2 60 50 ## 아래 p1 과 p2를 2차원 평면상에 표현하면 아래와 같다. ## 두점 사이의 거리를 구하기 위해선 피타고라스의 정의를 이용한다. # a2 + b2 = c2 ## 따라서, a 와 b 의 길이를 구해야한다. a = p2.x ..
-
TIL.34 클래스 상속(오버라이딩 및 추상클래스)TIL 2020. 11. 11. 15:37
## 클래스상속하기_2 ## 메서드 오버라이딩(method overriding) ## 메서드 오버라이딩 == 파생 클래스 안에서 기반 클래스의 메서드를 새로 정의하는 방법이다. class Person: def greeting(self): print('안녕하세요.') class Student(Person): def greeting(self): print('안녕하세요. 저는 파이썬 코딩 도장 학생입니다.') james = Student() james.greeting() # '안녕하세요. 저는 파이썬 코딩 도장 학생입니다.' # 안녕하세요가 아닌 안녕하세요. 저는 파이썬 코딩 도장 학생입니다가 출력되었다. ## 오버라이딩(overriding)은 무시하다, 우선하다라는 뜻을 가지고 있는데 말 그대로 기반 클래스..
-
TIL.33 클래스 상속(기반 클래스 및 파생클래스)TIL 2020. 11. 10. 20:51
## 클래스 상속하기 ## 클래스 상속(inheritance) ## 상속이란 무언가를 물려준다는 뜻으로 클래스 상속은 기반 클래스(base class)에서 상속을 받아 새롭게 만드는 클래스를 파생 클래스(derived class)라 한다. ## 클래스 상속은 물려받은 기능을 유지한채로 다른 기능을 추가할 때 사용하는 기능이다. ## 보통 기반 클래스는 부모 클래스(parent class), 슈퍼 클래스(superclass)라고 부르고 ## 파생 클래스는 자식 클래스(child class), 서브 클래스(subclass)라고도 부른다. ## 클래스 상속은 기반 클래스의 기능을 그대로 활용하면서 다른 기능을 추가할때 사용하는데, # 그렇다면 왜 굳이 클래스를 새로 만들지 않고 클래스 상슥을 시켜 파생 클래스..
-
TIL.32 클래스의 속성과 메서드TIL 2020. 11. 9. 17:50
## 속성에는 클래스 속성과 인스턴스 속성으로 나눈다. ## 이전까지 배웠던 속성은 인스턴스 속성이었다. ## 클래스 속성 ## 클래스 속성은 클래스 아래에 바로 속성을 만들면 된다. # class 클래스이름: # 속성 = 값 # 가방에 물건을 넣는 동작으로 알아보자. class Person: bag = [] # 클래스 속성 bag def put_bag(self, stuff): self.bag.append(stuff) james = Person() james.put_bag('책') maria = Person() maria.put_bag('열쇠') print(james.bag) # ['책', '열쇠'] print(maria.bag) # ['책', '열쇠'] ## 예상되는 결과로는 "책" // "열쇠" 처럼..
-
TIL. 31 클래스의 속성, 비공개 속성 사용하기TIL 2020. 11. 8. 17:45
## 클래스 속성 사용하기 ## 클래스에서 속성 만들기 ## 속성(attribute)를 만들때는 "__init__ 메서드" 를 사용하며, 안에서 self.속성에 값을 할당하면 된다. # class 클래스이름: # def __init__(self): # self.속성 = 값 class Person: def __init__(self): ## 속성을 정의한다는 뜻 self.hello = '안녕하세요.' def greeting(self): print(self.hello) james = Person() james.greeting() :: 안녕하세요. ## __init__ 메서드 ## __init__ 메서드는 james = Person()처럼 클래스에 ( )(괄호)를 붙여서 인스턴스를 만들 때 호출되는 특별한 메서..
-
TIL.30 클래스와 메서드 사용하기TIL 2020. 11. 7. 23:04
## 클래스, 매서드 사용하기 ## 클래스란 == 객체를 표현하기 위한 문법으로 예를 들어 게임 상에의 마법수, 궁수, 사제 등 직업별로 클래스를 만들어 표현 할 수 있다. # 프로그래밍에서의 클래스는 집, 자동차, 나무 우베 브라우저의 스크롤 바, 체크 박스, 버튼 등이 대표적이다. ## 집, 자동차, 스크롤 바, 체크박스 처럼 특정한 개념이나 모양으로 존재하는 것을 객체(object)라고 부른다. ## 프로그래밍의 객체를 만들때 사용하는 것이 클래스이다. ## 게임 케릭터로 예를 들어보자 ## 기사 케릭터를 클래스로 표현해보자. ## 기사 케릭터의 직업은 클래스 ## 해당 케릭터의 체력, 마나, 공격력 등의 데이터를 클레스의 속성(attribute) ## 이런 기사가 베고 찌르는 등의 기능을 메서드(..
-
TIL. 29 전역 변수, 지역변수, 클로저 알아보기TIL 2020. 11. 6. 21:56
## 클로저를 알기 위해서는 먼저, 함수의 사용 범위를 먼저 알아보자. ## 전역 함수와 지역 함수 ## 전역 변수 (global variable) == 위처럼 함수를 포함하여 스크립트 전체에서 접글 할 수 있는 변수를 전역 변수라 한다. # 특히, 전역 번수에 접근 할 수 있는 범위를 전역 범위 (global scope)라고 한다. x = 10 # 전역 변수 def foo(): print(x) # 전역 변수 출력 foo() print(x) # 전역 변수 출력 :: 10 ## foo 함수에 x라는 변수가 업지만, 전역 변수로 x가 있으므로 foo 함수에서도 x 변수를 사용할 수 있다. ## 지역 변수 (local variable) == 지역 변수 영역이 정해진 변수로 변수를 만든 함수 안에서만 접근이 가..