>  기사  >  백엔드 개발  >  Python 클래스의 상속이란 무엇입니까? 클래스 상속 규칙은 무엇입니까?

Python 클래스의 상속이란 무엇입니까? 클래스 상속 규칙은 무엇입니까?

乌拉乌拉~
乌拉乌拉~원래의
2018-08-20 14:39:123310검색

이 기사에서는 Python 클래스의 상속에 대해 알아 보겠습니다. Python 프로그래밍 언어를 처음 접한 사람들은 Python 클래스의 상속에 대해 잘 알지 못할 수도 있지만 다음은 중요하지 않습니다. 이번 글에서는 파이썬 클래스의 상속 규칙에 대해 알아보겠습니다. 아래에서는 파이썬 클래스의 상속 예를 분석하겠습니다.

클래스 상속

객체 지향 프로그래밍의 주요 이점 중 하나는 이러한 재사용을 달성하는 방법 중 하나입니다. 하나는 상속 메커니즘을 통한 것입니다.

상속을 통해 생성된 새로운 클래스를 서브클래스 또는 파생 클래스라고 하며, 상속받은 클래스를 기본 클래스, 부모 클래스 또는 슈퍼 클래스라고 합니다.

상속 구문

class 派生类名(基类名)
    ...

파이썬의 상속의 일부 기능:

1. 부모 클래스의 생성자가 필요한 경우 부모 클래스의 생성자를 명시적으로 호출해야 합니다. 그렇지 않으면 부모 클래스의 생성자를 재정의하지 마십시오. 자세한 지침은 Python 하위 클래스 상속 상위 클래스 생성자 설명을 참조하세요.

2. 기본 클래스의 메서드 호출 시 기본 클래스의 클래스 이름 접두어를 추가하고 self 매개변수 변수를 가져와야 합니다. 차이점은 클래스에서 일반 함수를 호출할 때 self 매개변수

3을 가져올 필요가 없다는 것입니다. Python은 해당 메소드를 찾을 수 없으면 항상 먼저 해당 유형의 메소드를 검색합니다. 파생 클래스에서는 기본 클래스에서 하나씩 찾기 시작합니다. (먼저 이 클래스에서 호출 메서드를 찾은 다음, 찾을 수 없으면 기본 클래스에서 찾아보세요.)

상속 튜플에 둘 이상의 클래스가 나열되는 경우 이를 "다중 상속"이라고 합니다.

Syntax

파생 클래스의 선언은 다음과 같이 상위 클래스의 목록과 유사합니다. 표시:

class SubClassName (ParentClass1[, ParentClass2, ...]):
    ...

분석예시

# !/usr/bin/python
# -*- coding: UTF-8 -*-
class Parent:  # 定义父类
    parentAttr = 100
    def __init__(self):
        print "调用父类构造函数"
    def parentMethod(self):
        print '调用父类方法'
    def setAttr(self, attr):
        Parent.parentAttr = attr
    def getAttr(self):
        print "父类属性 :", Parent.parentAttr
class Child(Parent):  # 定义子类
    def __init__(self):
        print "调用子类构造方法"
    def childMethod(self):
        print '调用子类方法'
c = Child()  # 实例化子类
c.childMethod()  # 调用子类的方法
c.parentMethod()  # 调用父类方法
c.setAttr(200)  # 再次调用父类的方法 - 设置属性值
c.getAttr()  # 再次调用父类的方法 - 获取属性值

위 코드 실행 결과는 다음과 같습니다.

调用子类构造方法
调用子类方法
调用父类方法
父类属性 :200

할 수 있습니다. 여러 클래스 상속

class A:        # 定义类 A
.....
class B:         # 定义类 B
.....
class C(A, B):   # 继承类 A 和 B
.....

issubclass() 또는 isinstance() 메서드를 사용하여 감지할 수 있습니다.

1.issubclass() - 부울 함수는 클래스가 하위 클래스인지 다른 클래스의 하위 클래스인지 결정합니다. 구문: issubclass(sub,sup)

2.isinstance( obj , Class) 부울 함수는 obj가 Class 클래스의 인스턴스 객체이거나 Class 하위 클래스의 인스턴스 객체인 경우 true를 반환합니다.

위 내용은 이 글의 전부입니다. 이 글은 python 클래스의 상속 측면을 주로 소개합니다. 위의 내용과 제공된 예를 이해하는 데 정보를 사용할 수 있기를 바랍니다. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.

더 많은 관련 지식을 보려면 PHP 중국어 웹사이트Python 튜토리얼 컬럼을 방문하세요.

위 내용은 Python 클래스의 상속이란 무엇입니까? 클래스 상속 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.