상속 관련 질문
241
콘소메
작성한 질문수 2
1
#02.객체변수 value가 100이상 값은 못가지도록 제한하는
클래스를 만들자
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
class MaxLimitCalculator(Calculator):
def __init__(self,**kwargs):
super().__init__(**kwargs)
def add(self,val):
self.value += val
if self.value>100:
self.value = 100
cal = MaxLimitCalculator()
cal.add(50) # 50 더하기
cal.add(60) # 60 더하기
print(cal.value) # 100 출력
<질문>
위 코드에서 Calculator를 상속받는 클래스 작성시
수업에서 배운 것처럼
def __init__(self,**kwargs):
super().__init__(**kwargs)
이 부분을 입력하지 않아도 상속이 됩니다.
저 부분(특히 super())을 써야지만 상속이 되는 것으로
이해했는데, 쓰지 않아도 상속이 되는 건가요?
답변 기다리겠습니다. 감사합니다~
답변 1
0
super() 함수는 상속시 부모 클래스의 초기화 함수 __init__() 를 호출하는 역할을 하는 것일뿐 상속 자체와는 상관이 없습니다.
class MaxLimitCalculator(Calculator):
위처럼 상속은 클래스 선언시 괄호 안에 상속받을 클래스를 명시하면서 이뤄집니다.
38강 = 연산자 더하고 빼기
0
60
2
주석처리
0
116
1
함수의 파라미터값 msg
0
155
1
강의자료 이미지 안나옴
0
239
3
강의자료 질문 두번째
0
165
3
강의자료 관련 질문
0
116
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
235
1
소수 너무 어려워요
0
245
1
imagefont 함수 사용
0
239
1
pylint
0
357
1
add 함수 문의 ㅠㅠ
0
283
1
형식 문의드립니다.
0
209
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
602
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
253
1
zsh: command not found: pylint
0
269
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
546
1
질문드립니다.
1
374
2
list.reverse() 출력에 대해서 질문있습니다.
1
433
1
데코레이터 함수 및 동작시간 질문입니다.~
1
323
2
opencv 사용하면서 궁금한점 (해상도)
1
781
1
질문드립니다.
1
299
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
445
1
크롤링안되는 현상 문의 드립니다.
1
421
1
파이썬 크롤링 관련 문의
1
277
1





