728x90
반응형
질문 : 파이썬에서 슈퍼 생성자를 호출하는 방법은 무엇입니까?
class A:
def __init__(self):
print("world")
class B(A):
def __init__(self):
print("hello")
B() # output: hello
다른 모든 언어에서 슈퍼 생성자로 작업 한 것은 암시 적으로 호출됩니다. 파이썬에서 어떻게 호출합니까? 나는 super(self)
기대하지만 이것은 작동하지 않습니다.
답변
다른 답변과 함께 슈퍼 클래스 메서드 (생성자 포함)를 호출하는 여러 방법이 있지만 Python-3.x에서는 프로세스가 단순화되었습니다.
Python-2.x
class A(object):
def __init__(self):
print "world"
class B(A):
def __init__(self):
print "hello"
super(B, self).__init__()
Python-3.x
class A(object):
def __init__(self):
print("world")
class B(A):
def __init__(self):
print("hello")
super().__init__()
super()
는 이제 docs에 super(<containing classname>, self)
와 동일합니다.
출처 : https://stackoverflow.com/questions/2399307/how-to-invoke-the-super-constructor-in-python
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python 모듈 소스의 위치를 찾는 방법 (0) | 2021.11.29 |
---|---|
Python interactive 세션을 저장하는 방법 (0) | 2021.11.29 |
유니 코드 문자열을 Python의 문자열로 변환 (추가 기호 포함) (0) | 2021.11.29 |
파이썬에서 “_” 변수의 목적 (0) | 2021.11.29 |
파이썬 객체에 어떤 메서드가 있는지 찾기 (0) | 2021.11.29 |