반응형
딥러닝을 다루면 많이 접해볼 수 있는 클래스(Class)이다. 딥러닝을 할 때에는 기본적으로 클래스를 생성하여 함수를 받아오지만 머신러닝을 하거나 단순 코딩을 할 때에는 클래스를 정의하지 않고 사용했던 것 같다. 클래스를 만들고 내부에 함수와 변수, 인스턴스 등을 만들어 사용을 한다.
Class 내부의 구조는 다음과 같다.
- 생성자(Constructor) : 클래스를 만들 때 자동으로 호출되는 특수한 함수라고 부르며, 파이썬에서는 생성자의 이름을 일반적으로 __init__으로 하고, 첫번째 인수로 객체 자신을 의미하는 self를 받아서 사용한다.
- 메소드(Method) : 클래스가 갖는 함수이며, 인스턴스를 조작하는 인스턴스 메소드, 클래스 전체를 처리하는 메소드, 인스턴스 없이도 작동하는 메소드 등이 존재하며, 여기서 선언한 함수를 받아와 나중에 인스턴스에서 활용하게 된다.
- 멤버(member) : 클래스가 가지는 변수이며, 파이썬에서는 public 멤버로 처리되고, 멤버에 대한 접근을 제안할 수 있다.
class MyModel: # Class
def __init__(self, name, price): # constructor
self.name = name # member
self.price = price
self.stock = 0
self.sales = 0
class MyModel:
def __init__(self, name, price, stock):
self.name = name
self.price = price
self.stock = stock
self.sales = 0
# method
def buy_up(self, n):
self.stock += n
def sell(self, n):
self.stock -= n
self.sales += n*self.price
# method
def summary(self):
message = 'called summary(). \n name: ' + self.name + \
'\n price: ' + str(self.price) + \
'\n stock: ' + str(self.stock) + \
'\n sales: ' + str(self.sales)
print(message)
이런 식으로 클래스에 메소드와 멤버를 할당하여 추후 분석에 용이하도록 만들어준다.
'Python' 카테고리의 다른 글
[Python] ConnectionResetError (request) (0) | 2022.04.27 |
---|---|
[python] os, os.path로 파이썬 경로 다루기 (0) | 2022.04.01 |
request <Response [401]> (0) | 2022.03.11 |
[Python] Open file (0) | 2021.09.30 |
[Python] tuple (0) | 2021.06.25 |