>백엔드 개발 >파이썬 튜토리얼 >Python 추상 클래스의 용도는 무엇입니까?

Python 추상 클래스의 용도는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-06-28 09:12:204963검색

추상 클래스는 클래스와 인터페이스의 혼합과 같습니다. 인터페이스의 특성을 가지고 있으며, Python의 타사 abc 모듈을 사용하여 추상 클래스를 구현합니다.

Python 추상 클래스의 용도는 무엇입니까?

추상 메서드는 다시 작성하는 문제가 없지만 구현에 문제가 있습니다. (권장 학습: Python 비디오 튜토리얼)

클래스가 여러 객체에서 동일한 내용을 추출하면 추상 클래스는 데이터 속성 및 함수 속성을 포함하여 동일한 내용을 가진 여러 클래스에서 추출됩니다.

추상 메서드를 포함하는 클래스는 추상 클래스여야 하지만 추상 클래스가 반드시 추상 메서드를 포함하는 것은 아니며 현재로서는 의미가 없습니다.​

파이썬에서는 협업 작업을 위해 인터페이스(추상 클래스)를 자주 사용합니다.

참고: Python에서는 실행 가능한 본문이 있는지 여부에 따라 추상 클래스인지 구분하는 것이 아니라 @abc.abstractmethod 데코레이터가 표준으로 있는지 여부에 따라 구분합니다.

#注意:不能直接实例化抽象类!!!
#示例程序:
import abc  #导入abc模块
class InMa(metaclass=abc.ABCMeta):  #定义抽象方法
   @abc.abstractmethod       #定义抽象方法
   def login(self):
      pass
   @abc.abstractmethod
   def zhuce(self):
     pass
class Login(InMa):  #继承抽象类
   def __inti__(self,name,pwd):
      self.name = name
      self.password = pwd
   def login(self):           #实现抽象方法功能

      if self.name == "qq" and self.password == "111":
         print("恭喜登录成功")
      else:
         print("登录失败")

class Zc(Login):
   def __init__(self,name,pwd):
      self.name = name
      self.password = pwd
   def zhuce(self):
      print("恭喜注册成功")
      print("username:",self.name)
      print("password:",self.password)
 #实例对象
ren = Zc("Jaue","qqq")
ren.zhuce()

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

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

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