Инкапсуляция — вносит дополнительный уровень безопасности в разрабатываемую программу с использованием объектно-ориентированного подхода. Разнообразие определений, сложно привести к общему знаменателю. В целом можно выделить два подхода к значению этого термина. Инкапсуляция может быть рассмотрена как: Пример: Определим класс Product, затем используем метод __init__ для хранения атрибутов (значений) о товаре, таких как наименование продукта, цена, скидка количество товара на складе и возможная максимальная скидка. Так как python рассматривает __max_discount как приватный атрибут, его изменить вне класса не получится. Инкапсуляция является скорее условностью и не обеспечивает ограниченный доступ к переменным и методам класса, так как данные которые должны быть скрыты, на самом деле могут быть прочитаны. Мы должны сами заботиться об их сохранности. Наследование — способ создания нового класса на основе старого. Позволяя вынести общий функционал в класс-родитель, а в производных класса