While it is not obvious how to reinforce a direct member accessibility like foo.num = num, You can easily augment your traditional setter with a further power parameter: In prolonged living projects debugging and refactoring takes extra time than composing the code itself. There are many downsides for applying @property.setter https://jmsmanesar.in/jms-the-majestic-floors-imt-manesar-sector-m9-gurgaon/