파이썬 학습 입문 노트(13)류-계승

2207 단어
주: 모든 코드 부분은 연속적이며, "결과"는jupyter에서 단계적으로 실행 결과 코드 부분입니다
class human:  #     
    def __init__(self,name='someone',age=10):#   ,        
        self.name = name
        self.age = age
        print('human init')
        
    #    
    def my_name(self):
        print('my name is',self.name)
    def my_age(self):
        print('my age is',self.age)
    def eat(self):
        print('eat')
    def think(self,a,b):
        print(a+b)
class student(human):#      (        )
    pass  #      
stu1 = student() #        

결과 human init//human 인쇄 초기화 기능 결과
stu1.my_age()#       

결과 my age is 10
!!!다음은 하위 클래스가 하위 클래스를 계승하는 동시에 하위 클래스가 자신의 기능을 정의한다.
class student(human):#      
    def __init__(self,grade=1,school='MIT'):#     
        super().__init__() #      
        self.grade = grade
        self.school = school
        self.scroe = 100
        print('student init')
        
    #         
    def learn(self):
        print('learning')
    def my_school(self):
        print('my school is',self.school)
stu2 = student(4)#       

결과 (상위 클래스 초기화를 먼저 실행하고 하위 클래스 초기화를 실행)human init student init
stu2.my_age()#    

결과: my age is 10
stu2.learn() #       
stu2.my_school()

결과 learning my school is MIT
!!!다음은 하위 클래스가 하위 클래스를 계승하는 동시에 하위 클래스가 자신의 기능을 정의하고 하위 클래스를 다시 쓰는 기능입니다.
class student(human):#      
    def __init__(self,grade=1,school='MIT'):
        super().__init__() #      
        self.grade = grade
        self.school = school
        self.scroe = 100
        print('student init')
        
    #         
    def learn(self):
        print('learning')
    def my_school(self):
        print('my school is',self.school)
    #           
    def think(self,a,b):
        print(a*b)
stu3 = student()

결과 Human init student init
stu3.think(10,20)#          

결과:200

좋은 웹페이지 즐겨찾기