образом: данные - приватные поля (__name) доступ через property, на функции setter декоратор, который отмечает изменение, но в таком случае для каждого поля необходимо писать property и propery.setter, это наглядно, но возможно есть какой-то более красивый путь?
Если что, для «приватного» поля используй одно подчёркивание, а не два.
Путь есть. Descriptor protocol называется вроде.
https://realpython.com/python-descriptors/#dry-code Вот этот абзац как раз твой кейс.
Это по сути изготовление своего проперти будет
Ему это и нужно.
Ну в целом можно, так как не придется сеттер дублировать.
приватных полей не бывает в Python, мне уже два курс по питону это написали, если конечно, вы умеете конкатенировать названия свойтва и название класса, то преград для вас никаких нет
Name mangling - это не защита от дурака. Это для того, чтобы ты в дочернем классе мог завести такие же атрибуты и они не мешали логике родителя
согласен, да. я реагирую на слова приватные поля
Разве для этого не существует перегрузки метода в дочернем классе?)
Это как раз отключает перегрузку
И вообще, для чего создавать те же атрибуты, если они и так в родительском классе есть?)
Мало ли, имя хреновое выбрал
Обсуждают сегодня