Как полностью ограничить доступ к атрибутам и методам класса в Python?
Начал обучение ООП в Python и столкнулся с такой особенностью, что если указать режим доступа private ( __<имя атрибута> ), то всё равно можно получить и изменить значение данного атрибута, обращаясь следующим образом: obj._SomeClass__param. Я узнал, что можно избежать данной проблемы переопределив методы __getattribute__ и __setattr__. И так переопределять нужно для каждого атрибута или метода. Бывает более простой или правильный способ полностью закрыть доступ к атрибуту и методу класса?