Python

[Python] Class

언킴 2022. 1. 14. 21:41
반응형

딥러닝을 다루면 많이 접해볼 수 있는 클래스(Class)이다. 딥러닝을 할 때에는 기본적으로 클래스를 생성하여 함수를 받아오지만 머신러닝을 하거나 단순 코딩을 할 때에는 클래스를 정의하지 않고 사용했던 것 같다. 클래스를 만들고 내부에 함수와 변수, 인스턴스 등을 만들어 사용을 한다.

 

Class 내부의 구조는 다음과 같다. 

  1. 생성자(Constructor) : 클래스를 만들 때 자동으로 호출되는 특수한 함수라고 부르며, 파이썬에서는 생성자의 이름을 일반적으로 __init__으로 하고, 첫번째 인수로 객체 자신을 의미하는 self를 받아서 사용한다. 
  2. 메소드(Method) : 클래스가 갖는 함수이며, 인스턴스를 조작하는 인스턴스 메소드, 클래스 전체를 처리하는 메소드, 인스턴스 없이도 작동하는 메소드 등이 존재하며, 여기서 선언한 함수를 받아와 나중에 인스턴스에서 활용하게 된다. 
  3. 멤버(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