python/Django
[Django] super 사용하기
http://portfolio.wonpaper.net
2022. 5. 12. 22:45
python 상에서 super 상위클래스 사용방법 여타의 다른 키워드와 동일하게 super 키워드를 쓴다.
class ExCreateView(CreateView):
def form_valid(self, form):
# form.instance.user = self.request.user
return super(ExCreateView, self).form_valid(form)
python2 에서는
class A(object):
def foo(self):
print "A"
class B(A):
def foo(self):
print "B"
super(B, self).foo()
class C(B):
def foo(self):
print "C"
super(C, self).foo()
c = C()
c.foo()
실행결과
C
B
A
python3 에서는
class A(object):
def foo(self):
print("A")
class B(A):
def foo(self):
print("B")
super().foo()
class C(B):
def foo(self):
print("C")
super().foo()
c = C()
c.foo()
실행결과
C
B
A