웹크롤링 수업시간에 잠시 클래스를 알려주셨다.
클래스는 많이 써보지 않아서 생소했는데 이번 기회에 배우게 되어서 좋았다.
클래스 : class
클래스는 변수와 함수가 많아서 가독성이 떨어질 때 하나로 묶어서 효율적으로 작성하고 실행하는 문법이다.
그리고 객체지향을 구현한 문법이다.
객체지향 구현이란?
실제세계를 모델링하여 프로그램을 개발하는 개발 방법론
- 협업의 향상 효과를 준다.
- 사용법
- 클래스선언(코드작성) > 객체생성(메모리사용) > 메서드실행(코드실행)
- class, self, __init__()
- 클래스는 사용자정의 데이터타입이다. (우리가 직접 만듦)
- 데이터타입에 따라 사용가능한 변수와 메서드가 다르다.
- 인스턴스 메소드
# 예) 재고
class stock:
today = 100
def plus(self, amount):
self.today += amount
def minus(self, stock):
self.today -= amount
class와 self를 사용하였다.
- 객체생성 : 메모리 사용
s1 = stock()
s2 = stock()
# stock 하나로 여러개의 재고상품들을 만들 수 있다.
- dir() : 객체의 변수, 함수 출력
dir(s1)[-3:] # 변수를 출력할 수 있다.
dir(s1) # 모든게 다 출력된다.
- 데이터 수정 : 데이터 선택 = 수정할 데이터
s1.today = 300
- 메서드호출 : 코드실행
s1.plus(80)
s2.miuns(60)
s1.today , s2.today
- self : 객체자신
stock.plus(amount) : self.today += amount
s1.plus(30) : self == s1 : s1.today += 30
s2.minus(40) : self == s2 : s2.today -= 40
생성메서드 : __init__()
스페셜메서드 : 메서드 식별자 앞뒤로 __ 가 붙음 : 특별한 기능을 하는 메서드
생성자 메서드가 스페셜 메서드 중에 하나이다.
특별한 기능 : 객체가 생성될 때 실행되는 메서드
- 클래스 생성: 코드 작성
class stock:
# 객체가 생성될 때 실행되는 메서드
# 다른 메서드에서 사용할 변수를 검사하거나 초기값을 설정할 때 밑의 생성자 메서드가 사용된다.
def __init__(self, today=1000): #default값 설정 today=1000, 설정안해도돼 그럴 때는 today만 작성!
self.today = today
def plus(self, amount):
self.today += amount
def minus(self, amount):
self.today -= amount
- 객체 생성 : 메모리 사용
s1 = stock(3000) #today가 3000이 된다.
s2 = stock() #default값을 설정해줬기때문에 가능!, 설정 안해줬으면 이부분에서 오류난다.
오늘 클래스 수업은 많은 배움을 얻었다.
클래스에 대해 많이 알았고, 다음에 사용해 볼 수 있을 정도로 이해할 수 있었다!
'kt aivle' 카테고리의 다른 글
kt_aivle8_머신러닝 (0) | 2023.08.31 |
---|---|
kt_aivle7_웹크롤링 (0) | 2023.08.29 |
kt_aivle5 (0) | 2023.08.19 |
kt_aivle4 (0) | 2023.08.18 |
kt_aivle3 (0) | 2023.08.11 |