|
|
지금 위 코드를 보면 클래스 ChildA, ChildB, ChildC는 Base class를 상속 받는다.
그리고 각 __init__ 함수는 각 클래스의 이름을 출력한다.
여기서 super()를 이용해서 부모 클래스의 초기화 함수를 호출할 수 있다.
일단 결론만 말하자면
super(ChildB, self).__init__() => python 2.x version code
super().__init__() => python 3.x version code
라고 생각하면 된다.
super()를 사용하면 자동으로 상속 받은 부모 클래스의 초기화 함수를 호출하지만,
ClassA처럼 " Base.__init__(self)"를 통해 직접 호출도 가능하다.
만약에 부모 클래스의 초기화 함수가 인자를 받는 다면 다음과 같이 하면 끝이다.
|
|
참고 : https://stackoverflow.com/questions/576169/understanding-python-super-with-init-methods
'Python > python' 카테고리의 다른 글
ipynb file import 방법 (0) | 2018.07.19 |
---|