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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
다른 Python 파일을 가져 오는 방법 (import) (0) | 2021.10.21 |
---|---|
pip로 설치된 모든 패키지를 제거하는 가장 쉬운 방법 (0) | 2021.10.21 |
하나를 수정하지 않고 파이썬에서 두 배열을 연결하는 방법 (0) | 2021.10.21 |
Python 모듈의 모든 함수를 나열하는 방법 (0) | 2021.10.19 |
Python에서 matplotlib를 사용하여 로그 축 플로팅 (0) | 2021.10.19 |