[python3] 부모 클래스의 생성자 호출

spring·2020년 11월 9일

python3 에서는 부모 클래스의 생성자를 호출하는 데 있어서 아래와 같이 간단하게 작성할 수 있다.

class A:
    def __init__(self):
        print('A')

class B(A):
    def __init__(self):
        super().__init__()
        print('B')

class C(B):
    def __init__(self):
        super().__init__()
        print('C')

var = C()
A
B
C

반면 python2에서는 위의 코드가 원하는 대로 동작하지 않는데 2020년 1월부터 python2의 지원 종료가 결정되어서 더 이상 고려할 필요가 없다. 여담이지만 파이썬 철학 중에 암묵적인 것 보다 명시적인 게 낫다고 되어 있는데 애초에 명시적인 걸 좋아한다면 다른 언어를 선택하는 게 더 좋았을 수도...

References

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글