프로그래밍 언어/Python
__init __ () 메서드로 파이썬 super () 이해하기
Rateye
2021. 10. 21. 10:57
728x90
반응형
질문 : __init __ () 메서드로 파이썬 super () 이해하기
super()
의 사용을 이해하려고 노력하고 있습니다. 외관상 두 자식 클래스를 모두 만들 수 있습니다.
다음 두 아이 클래스의 실제 차이점에 대해 알고 싶습니다.
class Base(object):
def __init__(self):
print "Base created"
class ChildA(Base):
def __init__(self):
Base.__init__(self)
class ChildB(Base):
def __init__(self):
super(ChildB, self).__init__()
ChildA()
ChildB()
답변
super()
사용하면 기본 클래스를 명시 적으로 참조하지 않아도됩니다. 그러나 가장 큰 장점은 모든 종류의 재미있는 일 이 발생할 수있는 다중 상속입니다. 아직 보지 않았다면 super의 표준 문서를 참조하십시오.
Python 3.0에서 구문이 변경되었습니다 . IMO가 훨씬 더 좋은 super(ChildB, self).__init__()
대신 super().__init__()
라고 말할 수 있습니다. 표준 문서는 또한 매우 설명적인 super()
사용 가이드를 참조합니다.
출처 : https://stackoverflow.com/questions/576169/understanding-python-super-with-init-methods
728x90
반응형