Абстрактный класс и isinstance в Python
С помощью isinstance можно проверять,
является ли объект потомком заданного
абстрактного класса. Посмотрим на примере.
Пусть у нас есть вот такой класс:
from abc import ABC
class Figure(ABC):
pass
class Quadrate(Figure):
pass
Создадим объект этого класса и проверим его
оператором isinstance:
quadrate = Quadrate()
print(isinstance(quadrate, Quadrate)) # выведет True
print(isinstance(quadrate, Figure)) # выведет True
Сделайте абстрактный класс Figure3d, который будет иметь метод get_volume
и метод get_surface_square.
Сделайте класс Cube, который будет
наследовать абстрактный класс Figure3d.
Создайте несколько объектов класса Quadrate,
несколько объектов класса Rectangle
и несколько объектов класса Cube.
Запишите их в список arr в случайном
порядке.
Переберите циклом список arr и выведите
на экран только площади объектов, являющихся
потомками класса Figure.
Переберите циклом список arr и выведите
для плоских фигур их площади, а для объемных
- площади их поверхности.