[Baypiggies] What's the "Pythonic" way to access class attributes?
shaleh at speakeasy.net
Tue Oct 11 14:17:53 EDT 2016
get/set is a bad idea in almost any language actually. The OO design
folk will tell you the methods should be action and use oriented.
foo.unlock() instead of foo.setLocked(false)
The biggest value for a function of some sort in my opinion is it is
easier to refactor later. Finding all of the places that foo.bar = 1
can be annoying and worse you fall into idioms like:
foo.bar = 1
foo.bar += 2 # yikes, I have to refactor that too.
On Tue, 11 Oct 2016 10:29:33 +0100, Braun Brelin wrote:
I just wanted to get the list's opinion on something.
Since Python doesn't really have the concept of private and protected
attribute access protections a la Java or C++ (Yes, I know you can use
the __ and _ prefixes to declare something private or protected in
Python, but that really only does name-mangling on the attribute name
rather than explicitly disallow access to the attribute from outside
the class), is it better to still access the attribute directly a la
Foo.bar = 10 or use a setter/getter approach like Foo.setBar(10)?
It seems to me that option one is better, especially if I can use a
descriptor with the attribute.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Baypiggies