python 에서 다 중 계승 방법 을 활용 하여 상세 하 게 설명 합 니 다.

5050 단어 python다 상속
어떻게 PYTHON 에서 다 중 계승 을 활용 할 수 있 을 까?

class Father:

  def hobby(self):

    print("love to play video game.")

    

class Mother:

  def cook(self):

    print("love to cook anything.")
 
\#예 를 들 어 두 가지 종류 가 있 는데 한 가지 종류 가 이 두 가 지 를 동시에 계승 하려 면 어떻게 해 야 합 니까?

class Father:

  def hobby(self):

    print("love to play video game.")

    

class Mother:

  def cook(self):

    print("love to cook anything.")

    

class Son(Father, Mother):

  pass




son = Son()

son.hobby()

son.cook()

\#하위 클래스 이름 뒤에 두 개의 부 류 를 추가 하면 다 중 상속 이 가능 합 니 다.

class Father:

  def hobby(self):

    print("love to play video game.")

  def cook(self):

    print("love to cook anything.")    

class Mother:

  def cook(self):

    print("love to cook anything.")

  def hobby(self):

    print("love to play video game.")

    

class Son(Father, Mother):

  pass




son = Son()

son.hobby()

son.cook()

\#하지만 자 류 를 물 려 받 을 때 두 부류 의 방법 이 똑 같은 것 을 발견 하면 두 사람 을 동시에 물 려 받 을 수 없다.

class Father:

  def hobby(self):

    print("love to play video game.")

  def cook(self):

    print("love to cook anything.")    

class Mother:

  def cook(self):

    print("love to cook anything.")

  def hobby(self):

    print("love to play video game.")

    

class Son(Mother, Father):

  pass




son = Son()

son.hobby()

son.cook()

우리 가 자 리 를 바 꿔 도 누 구 를 물 려 받 았 는 지 알 기 어렵다.

print(Son.__mro__)
\#실제로 우 리 는 mro 로 순 서 를 볼 수 있 습 니 다.먼저 자 류,그 다음 에 어머니,그 다음 에 아버지 입 니 다.이것 은 쓰기 순서 에 따라 마지막 으로 object 입 니 다.

class AAA(object):

  pass




aaa = AAA()

dir(aaa)

\#object 클래스 에 어떤 방법 이 있 는 지 볼 수 있 습 니 다.

class AAA:

  pass




aaa = AAA()

dir(aaa)

\#기본 클래스 가 없 으 면 보통 뒤에 object 를 추가 해 야 합 니 다.여기 PYTHON 3 이기 때문에 추가 와 추가 가 다 르 지 않 지만 추가 하 는 것 을 권장 합 니 다.

Python 다 중 계승 인 스 턴 스 확장:
다 중 상속 사용

#1.   :       
 
class Human:
  def __init__(self, sex):
    self.sex = sex
 
  def p(self):
    print("  Human   ")
 
 
class Person:
  def __init__(self, name):
    self.name = name
 
  def p(self):
    print("  Person   ")
 
  def person(self):
    print("   person     ")
 
 
class Teacher(Person):
  def __init__(self, name, age):
    super().__init__(name)
    self.age = age
 
 
class Student(Human, Person):
  def __init__(self, name, sex, grade):
    #super().__init__(name) #  :       ,  super              
    #super().__init__(sex) #                   .__init__  。  :
 
    Human.__init__(self,sex)
    Person.__init__(self,name)
    self.grade = grade
 
 
class Son(Human, Teacher):
  def __init__(self, sex, name, age, fan):
    Human.__init__(self, sex)
    Teacher.__init__(self, name, age)
    self.fan = fan
 
 
# ------     -------------
stu = Student("tom", "male", 88)
print(stu.name,stu.sex,stu.grade)
stu.p() #     Human Person    P()   ,               Human   
 
 
son1 = Son("jerry", "female", 18, "  ")
son1.person() #             。
son1.p() #               ,        。
=====================================================================================
tom male 88
  Human   
   person     
  Human   
이상 은 Python 에서 많이 물 려 받 은 지식 에 대한 정리 입 니 다.여러분 의 읽 기와 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기