[Python] 파이썬 내의 상속 연습(클래스 변수, 멤버 변수, 멤버 메서드,
2021. 4. 21. 11:15ㆍ나혼파(나혼자파이썬)
계산기 클래스
(사칙연산이 작동되는 계산기 클래스 만들기)
1. 장렬히 실패한 첫 시도
step1. 클래스 Calculator 선언
step 2. 생성자 메서드 생성(init)
step 2-1. 멤버 변수 정의
step 3. 멤버 메서드 sum, substract, product, divide 생성
step 3-1. 각 멤버 메서드 안에 멤버 변수 정의
class Calculator:
def __init__(self,a,b):
self.a = a
self.b = b
def sum(self):
print(self.a+self.b)
def subtract(self):
print(self.a - self.b)
def product(self):
print(self.a * self.b)
def divide(self):
print(self.a / self.b)
다음으로 calc1, calc2에 각각 할당
calc1 = Calculator(5,3)
calc2 = Calculator(10,2)
출력값 :
print(calc1.sum())
print(calc1.subtract())
print(calc1.product())
print(calc1.divide())
8
None
2
None
15
None
1.6666666666666667
None
?????????? 뭔 놈의 None ???????? None 낄끼빠빠 못함
그 이유는 위에서 retrun 값을 정해주지 않아서 retrun 할 값이 없어서 자꾸 None 이 나오는 거였다
(ㅄ 소리들으면서 알아낸 사실)
[수정 답안]
print -> retrun 으로 변경
class Calculator2:
def __init__(self,a,b):
self.a = a
self.b = b
def sum(self):
return self.a+self.b
def subtract(self):
return self.a - self.b
def product(self):
return self.a * self.b
def divide(self):
return self.a / self.b
calc1 = Calculator2(5,3)
calc2 = Calculator2(10,2)
출력값
print(calc2.sum())
print(calc2.subtract())
print(calc2.product())
print(calc2.divide())
12
8
20
5.0
아주 리턴이 잘되는 걸 볼 수있다
휴 return 잊지말자고 retrun