> 백엔드 개발 > 파이썬 튜토리얼 > 하위 클래스가 Python에서 상위 클래스 함수를 호출하는 방법에 대한 코드 예

하위 클래스가 Python에서 상위 클래스 함수를 호출하는 방법에 대한 코드 예

黄舟
풀어 주다: 2017-08-20 10:51:30
원래의
1316명이 탐색했습니다.

Python에서 클래스의 초기화 방법은 __init__()이므로 부모 및 하위 클래스의 초기화 방법은 다음과 같습니다. 다음 기사에서는 Python에서 하위 클래스가 부모 클래스 함수를 호출하는 방법에 대한 예제를 주로 소개합니다. 기사는 샘플 코드입니다. 아주 자세하게 소개되어 도움이 필요한 친구들이 참고할 수 있습니다.

머리말

이 글에서는 주로 Python 하위 클래스에 의한 상위 클래스 함수 호출에 대한 관련 내용을 소개합니다. Python의 하위 클래스에 있는 __init__() 함수는 경우에 따라 상위 클래스 함수를 재정의합니다. 하위 클래스에서 상위 클래스 함수를 호출하는 데 종종 필요합니다. 아래에서는 별로 할 말이 없지만 자세한 소개를 살펴보겠습니다.

다음 루틴에서,? ? ? 여기서는 부모 클래스 함수를 호출해야 합니다. 다음으로 루틴과 함께 자세히 소개하겠습니다.


 # -*- coding:utf-8 -*-
 class Student:
  def __init__(self,name):
   self.name=name
  def ps(self):
   print('I am %s'%self.name)
 
 class Score(Student):
  def __init__(self,name,score):
   self.score=score
   ???12 12  def ps1(self):
   print('I\'m %s,%s' %(self.name,self.score))
 
 Score('Bob','99').ps()
 Score('Bob','99').ps1()
로그인 후 복사

Python3.5에서는 정보를 참고해 보면 다음과 같은 호출 방법이 있습니다.

첫 번째 방법은 직접 방법입니다. 상위 클래스 이름을 사용하여 parent_class.parent_attribute(self) 형식으로 직접 호출합니다. 해당 루틴은 다음 명령문입니다. parent_class.parent_attribute(self) ,对应例程即语句:


Student.__init__(self,name)
로그인 후 복사

第二种是通过super函数,形如 super(child_class, child_object).parent_attribute(arg) 。第一个参数表示调用父类的起始处,第二个参数表示类实例(一般使用self),父类方法的参数只有self时,参数args不用写。此外,类内部使用时,child_class, child_object也可省略。对应例程:


super(Score,self).__init__(name)
로그인 후 복사

或者:


super().__init__(name)
로그인 후 복사

在类外面也可使用super函数,但是要有child_class, child_object

rrreee두 번째는 super 함수를 통하는 것입니다. super( child_class, child_object).parent_attribute(arg) 형식입니다. 첫 번째 매개변수는 상위 클래스 호출 시작점을 나타내고, 두 번째 매개변수는 클래스 인스턴스를 나타냅니다. (보통 self를 사용합니다.) 상위 클래스 메소드의 매개변수가 self만 있는 경우에는 args 매개변수를 작성할 필요가 없습니다. 또한, 클래스 내에서 사용되는 경우 child_class, child_object도 생략 가능합니다. 해당 루틴:

🎜rrreee🎜 또는: 🎜🎜🎜🎜rrreee🎜 클래스 외부에서도 super 함수를 사용할 수 있지만 child_class, 가 있어야 합니다. >child_object 두 개의 매개변수. 🎜🎜🎜🎜요약🎜🎜🎜

위 내용은 하위 클래스가 Python에서 상위 클래스 함수를 호출하는 방법에 대한 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿