>백엔드 개발 >파이썬 튜토리얼 >파이썬에는 인터페이스가 없나요?

파이썬에는 인터페이스가 없나요?

(*-*)浩
(*-*)浩원래의
2019-07-06 13:06:495361검색

인터페이스는 일부 메서드만 정의할 뿐 구현하지 않습니다. 주로 프로그램 설계에 사용됩니다. 필요한 기능만 설계하고 이러한 기능을 다른 클래스(B)에서 상속해야 합니다. B 클래스에 의해 전달되어 기능 중 하나 또는 모두를 실현합니다.

파이썬에는 인터페이스가 없나요?

Python에는 인터페이스가 없지만 Python 추상 클래스와 추상 메서드에서는 인터페이스 기능을 구현합니다. 인터페이스는 인스턴스화할 수 없으며 해당 기능을 구현하기 위해 다른 클래스에서만 상속할 수 있습니다. (추천 학습: Python 동영상 튜토리얼)

개인적으로 Python에서는 인터페이스가 그다지 중요하지 않다고 생각합니다. 인터페이스를 상속하려면 인터페이스에 있는 모든 메서드를 구현해야 하기 때문입니다. 그렇지 않으면 컴파일 오류가 발생합니다. 보고되는 경우 모든 메서드 구현이 전달되는 클래스를 직접 정의하고 하위 클래스에서 이러한 함수를 다시 작성하도록 하는 것이 더 좋습니다.

물론 모든 구현 클래스를 인터페이스의 정의에 따라 작성해야 한다는 필수 요구 사항이 있는 경우 인터페이스를 사용해야 합니다.

추상 클래스와 추상 함수를 사용하여 메서드 구현

#抽象类加抽象方法就等于面向对象编程中的接口
from abc import ABCMeta,abstractmethod
 
class interface(object):
    __metaclass__ = ABCMeta #指定这是一个抽象类
    @abstractmethod  #抽象方法
    def Lee(self):
        pass
    
    def Marlon(self):
        pass
 
class RelalizeInterfaceLee(interface):#必须实现interface中的所有函数,否则会编译错误
    def __init__(self):    
        print '这是接口interface的实现'
    def Lee(self):
        print '实现Lee功能'        
    def Marlon(self):
        pass   
 
 
class RelalizeInterfaceMarlon(interface): #必须实现interface中的所有函数,否则会编译错误
    def __init__(self):    
        print '这是接口interface的实现'
    def Lee(self):
        pass      
    def Marlon(self):
        print "实现Marlon功能"

더 많은 Python 관련 기술 기사를 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 파이썬에는 인터페이스가 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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