반응형
python class 상속
상속받은 자식 클래스에서 부모 클래스의 초기화함수를 호출하기 위해서는 자식클래스의 초기화함수에 부모클래스의 초기화함수를 호출하는 super(). init()를 사용합니다. 만약 부모클래스에만 초기화함수가 존재한다면 부모클래스의 초기화함수가 자동으로 호출됩니다.
클래스의 초기화 함수 클래스 안에서 init이라는 이름의 함수를 구현하면 파이썬은 이를 초기화 함수로 인식합니다. 초기화함수는 클래스를 선언함과 동시에 호출하여 수행합니다.
init의 __은 언더바 두개입니다.
상속과 초기화 함수 상속받은 자식클래스와 부모클래스 둘 다 초기화함수가 존재하는 경우, 자식클래스 선언 시 자식클래스의 초기화함수만 호출됩니다.
상속받은 자식 클래스에서 부모 클래스의 초기화함수를 호출하기 위해서는 자식클래스의 초기화함수에 부모클래스의 초기화함수를 호출하는 super().init()를 사용합니다.
In [1]:
class Calculator():
def __init__(self):
self.memory = 0
def show(self):
print('현재 계산기에 저장된 값: {:f}' .format(self.memory))
def clear(self):
self.memory = 0
def add(self,a):
self.memory += a
def subtract(self,a):
self.memory -= a
def mul(self,a):
self.memory *= a
def div(self,a):
try:
self.memory /= a
except:
print('0으로 나누는 것은 불가능 합니다')
cal1=Calculator()
고급 계산기 예
sol1 : ax + b
sol2 : ax**2 + bx + c
In [5]:
class adv_cal(Calculator):
def __int__(self):
super(adv_cal, self).__init__()
def sol1(self,a,b):
self.memory = a*self.memory+b
def sol2(self,a,b,c):
self.memory = a*self.memory**2+b*self.memory+c
In [6]:
adv_cal=adv_cal()
adv_cal.add(3)
adv_cal.show()
현재 계산기에 저장된 값: 3.000000
In [9]:
adv_cal.sol1(2,4)
adv_cal.show()
현재 계산기에 저장된 값: 24.000000
In [11]:
adv_cal.clear()
adv_cal.sol2(2,4,8)
adv_cal.show()
반응형
'머신러닝' 카테고리의 다른 글
파이썬 라이브러리 기초 (0) | 2023.01.22 |
---|---|
파이썬 클래스 (0) | 2023.01.11 |
python 함수 - 근의 공식 (0) | 2023.01.09 |
파이썬 기초문법 조건문과 반복문 (0) | 2023.01.06 |
colab 노트이름변경 및 다운로드와 업로드 (0) | 2023.01.05 |
댓글