본문 바로가기
파이썬 기초

파이썬 기초 , 클래스 self와 __init__ 알아보자.

by 퍼마인 2020. 6. 7.
반응형

안녕하세요 퍼포먼스마케터입니다. 오늘은 파이썬의 핵심 클래스에 대해 알아보겠습니다. 
클래스는 파이썬 초보들에게 넘기 어려운 장벽처럼 어려운 부분인데요, 지금부터 한번 살펴보시죠.

클래스는 일종의 서비스 같다고 생각하면 될 것 같습니다. 
클래스로 서비스를 만들어 놓고, 그 안에 있는 코드를 사용하는 개념일 수 있죠. 

클래스 어려운 것 1) self 간단히 살펴보기

def sum(a,b):
    result = a+b

위와같은 함수가 있다면, 클래스에서는 self가 추가되는데요, 
클래스를 사용하는 사람을 인증하는 개념으로 볼 수 있습니다. 

def sum(self,a,b):
    result = a+b

이런 함수가 사용되는데, 

class Service:
    def sum(self,a,b):
    result = a+b
    return result

위와 같은 클래스를 만들어 놓고, 저걸 사용하기 위해선
a = Service()
라고 가입을 한 뒤, 
print(a.sum(4,2)) 라고 입력하면 서비스를 사용할 수 있는 개념이라고 볼 수 있습니다. 


사칙연산을 쉽게 해주는 계산기를 만들어주는 예시입니다. 


사칙연산을 가능하게 하는 FourCal 이라는 클래스가 동작하게 하려면, 다음과 같은 코드가 필요합니다. 

먼저 class FourCal 이라는 클래스를 만들고, 사칙연산에 사용할 2개의 숫자를
setdata 메소드로 사용합니다. (클래스에서는 함수를 다른말로 메서드라고 합니다)
그 다음 더하기, 곱하기, 빼기, 나누기에 대한 메서드를 각각 만들어줍니다. 

그렇게 클래스를 만들어 준 뒤, a라고 FourCal 클래스 서비스를 가입해주고, 
2개의 숫자를 세팅한 뒤, 각각의 메서드를 실행해보면 결과값이 나옵니다. 

클래스 어려운 것 2) __init__ 간단히 살펴보기

클래스 중 __init__ 이라는 게 자주 나오는데요, 파이썬 초보가 보기엔 너무나 어려운 문구입니다.
약간 외계어 같기도 하고 프로그래밍 언어스럽기도 해서 거부감이 드는데, 
지금부터 김씨네집 클래스 만들기를 통해 __init__을 알아보겠습니다. 

 


우선 김씨네집의 클래스를 HouseKim이라는 이름으로 만듭니다. 
setname 메서드와 food 메서드를 각각 만들고, 
이름과, 음식을 입력하면 누가 어떤걸 먹었는지 알려주는 코드입니다. 

아래 이미지를 보시면, __init__이 나오는데, 이게 메서드 초기값을 설정하는 것입니다. 
어떤 차이가 있는지 살펴보면, 똑같이 클래스를 사용하려고 입력을 하면, 
에러가 뜨면서 이름이라는 argument가 필요하다고 에러가 뜹니다. 

 


pey = HouseKim()이라는 서비스 이용에 대해 말하면서, 이름을 입력하는 걸 초기값으로 설정한거죠.

아래와 같이 이름을 입력하고, food 메서드를 입력하면, 내용이 정상적으로 뜨는 걸 확인할 수 있습니다. 



마지막으로 클래스의 상속이라는 개념이 있는데, 
이미 만들어놓은 클래스를 불러오는 방법으로, 
class 클래스명(상속할클래스명): 이런식으로 입력하면 상속을 받게 됩니다. 

 



위에서 이미 만든 HouseKim이라는 클래스명을 불러와서, 
성만 조씨로 바꾸고, 기존에 food 메서드를 그대로 활용하는 코드입니다. 


감사합니다. 

 

 

반응형

'파이썬 기초' 카테고리의 다른 글

파이썬 기초 - 외장함수  (0) 2020.06.10
파이썬 기초 - 내장 함수  (0) 2020.06.09
파이썬 기초 - 모듈  (0) 2020.06.08

댓글