
On Sun, 23 May 2021 at 14:50, Chris Angelico <rosuav@gmail.com> wrote:
On Sun, May 23, 2021 at 10:42 PM Marco Sulla <Marco.Sulla.Python@gmail.com> wrote:
On Sun, 23 May 2021 at 14:35, Chris Angelico <rosuav@gmail.com> wrote:
On Sun, May 23, 2021 at 10:30 PM Marco Sulla <Marco.Sulla.Python@gmail.com> wrote:
I think the only reason to introduce something like `private` is refactoring. If you added a `_variable` and later you decided to expose it, you have to change it to `variable`. This is something that in languages like Java is not necessary, you have only to change the variable from private to public. This sometimes bothered me in Python.
Since you started with it private, you should be able to solve this with a simple search-and-replace within the class's own definition. Nothing outside the class should be affected. If it's that hard to replace "self._variable" with "self.variable"
And, in non-trivial cases, it is :)
I'm curious as to what sort of non-trivial cases you have to deal with, where you have something harder than search-and-replace
For example, having _variable in another class.
Do you yearn for actual refactoring tools - which do exist?
Renaming tools of IDE do not work in 100% of the cases. For example, if you have _variable in an eval string, it's not replaced.
Or maybe most Python programmers don't think in terms of private members, and it's easier to just make something public from the start.
Naaaa, I see private vars used a lot. It's @property that, it seems to me, is used sporadically.
ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-leave@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/OT54AL... Code of Conduct: http://python.org/psf/codeofconduct/