Shawn Milochik schrieb:
On Wed, Feb 25, 2009 at 3:15 PM, Diez B. Roggisch <de...@nospam.web.de> wrote:

Not really. The point about properties is that you *can* make attribute
access trigger getter or setter code.

But not that you do unless there is an actual reason for that. The way you
do it now is simply introducing clutter, without benefit. Your class would
be half the current size - without loss of functionality.



Diez
--
http://mail.python.org/mailman/listinfo/python-list


It is true that it would be fewer lines of code with the same
functionality, but it's better practice to have that framework in
place so that any changes made in the future wouldn't break any of the
code accessing my class. Obviously this is a fairly simple game that
has a fixed set of rules, but I'm trying to cultivate good habits, and
I don't think that doing it this way is anti-Pythonic.

Unless, of course, anything I said is wrong, which is always possible.
If I'm missing a bigger-picture idea, I'd like to know about it.

You miss that Java has no properties, and thus forces prorgammers to wrap all attribute-access into getter/setters - just in case one wants something other than pure attribute access in some distant future to come.

In Python this is not needed. If something starts as an attribute, and then evolves so that it needs more complex logic when being accessed, you introduce a property of the same name.


Don't waste time coding for a future you can't even pretend to know. Do what is needed to solve the actual problem.


Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to