• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

def get 관련 질문드립니다.

21.08.17 09:44 작성 조회수 345

0

def get(): 에서   get은 그냥 이름을 지정해준 임의의 함수 아닌가요...?

def mat(),  def qeq()과 마찬가지로요..

그리고 def get(self, *args, **kwargs):

                     return super.().get(*args, **kwargs)

의 의미를 여쭤봐도 될까요...??

get함수가 다수의 튜플과 딕셔러리 형태를 매개변수로

받는다는 건 알겠는데 super.get()은 무슨말인지 잘 모르겠어요..ㅜㅜ..얕은 지식이라..

답변 2

·

답변을 작성해보세요.

0

현비밀님의 프로필

현비밀

질문자

2021.08.18

정말 매번 감사합니다.!

0

안녕하세요.
질문 확인했습니다.

def get(): 
    return super().get(*args, **kwargs)

과 같이 작성하는 내용은 그냥 이름을 지정해준 메서드가 아니라,
부모 클래스의 메서드를 덮어씌우는 방법입니다.

저희가 작성하는 AccountCreateView, AccountUpdateView ... 등등 은 
장고에서 제공하는 CreateView, UpdateView 와 같은 클래스를 상속받습니다.

그리고 여기에서 사용되는 super()는, 
자식 클래스에서 부모 클래스의 메서드를 호출하는 방법이구요.

결과적으로 이미 CreateView, UpdateView와 같은 클래스,
부모클래스에 선언되어있는 get 이라는 이름의 메서드
자식클래스에서 덮어씌우는 과정이 위의 코드입니다.

super의 용도를 한번쯤은 확인해보실 필요가 있을것 같습니다.
인터넷에서 파이썬 기초에 대한 내용을 정말 많은 자료 가 있으니 참고해보시면 좋을 것 같아요!

부족한 답변이지만 도움이 되셨길 바랍니다.

좋은하루 보내시구요-
감사합니다.