Абстрактный класс - это план для связанных классов. Он не может быть создан, но доступен только через наследование. Подкласс, наследующий абстрактный класс, необходим для реализации его абстрактных методов. В противном случае компилятор отметит ошибку.
Абстрактные методы - это методы без реализации. Абстрактный класс может иметь абстрактные методы или конкретные (обычные) методы.
Python не поддерживает абстрактные методы напрямую, но вы можете получить к ним доступ через abc (абстрактный базовый класс) модуль.
Использование модуля abc в Python
Чтобы определить абстрактный класс в Python, вам необходимо: Импортировать модуль abc.
См. Пример ниже:
из abc импорт ABC
класс AbstractClassName (ABC):
проходить
Обратите внимание на ключевое слово проходить. Это ключевое слово используется для замены пустого кода. Если вы его не укажете, компиляция выдаст ошибку.
Связанный: Будет ли Джулия претендовать на трон Питона?
Определения классов, определения методов, циклы и если операторы ожидают реализации кода. Таким образом, их отсутствие дает ошибку компиляции. Чтобы этого избежать, используйте
проходить подставить пустой код.Чтобы определить абстрактный метод в Python, используйте @abstractmethod декоратор:
from abc import ABC, abstractmethod
класс AbstractClassName (ABC):
@abstractmethod
def abstractMethod (self):
проходить
Здесь было бы хорошо упомянуть, что - в отличие от Java - абстрактные методы в Python могут иметь реализацию.. Доступ к этой реализации можно получить в методе переопределения с помощью супер() метод.
импорт abc
класс AbstractClass (ABC):
def __init __ (self, value):
self.value = значение
супер () .__ init __ ()
@ abc.abstractmethod
def some_action (self):
print ("Это родительская реализация.")
класс MySubclass (AbstractClassExample):
def some_action (self):
супер (). some_action ()
print ("Это реализация подкласса. ")
x = MySubclass ()
x.some_action ()
Интересно отметить, что вы можете определить конструктор в абстрактном классе.
В строке 9 вы можете заметить, что @ abc.abstractmethod использовался как декоратор абстрактного метода. Это еще один способ, отличный от предыдущей формы. Также обратите внимание, что строка 1 короче (импорт abc), чем использованный ранее импорт строки 1.
Все дело в выборе. Хотя второй способ многим может показаться короче.
Обработка исключений в Python
Обратите внимание, что в приведенном выше примере кода нет способа зафиксировать ошибки. Ошибки возникают чаще, чем нет, и наличие надежного способа их устранения может изменить правила игры.
Эти события, которые нарушают нормальный ход выполнения программы, называются «исключениями», а управление ими называется «обработкой исключений». Следующим в вашем списке чтения Python должна быть обработка исключений.
Покройте свои основы кодирования исключениями Python.
Читать далее
- Программирование
- Программирование
- Python
- Языки программирования

Джером - штатный писатель в MakeUseOf. Он освещает статьи по программированию и Linux. Он также криптоэнтузиаст и всегда следит за криптоиндустрией.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться