* Steven D'Aprano:
On Wed, 04 Nov 2009 08:50:42 +0100, Alf P. Steinbach wrote:

* Gabriel Genellina:
I don't understand either. R1 and R2 have *different* semantics.
Assume that they have the very exact same semantics


Why would we assume that when you have explicitly told us that they don't?

You stated categorically that they behave differently when you assign to the attribute/property "top".

Uh, severe reading difficulties ... referring to self in plural ... Hm. :-)

But anyway, in the example description I wrote

  "With R1 direct changes of left and top keeps the rectangle's size"

and this is in the context of a discussion of modifying data attributes directly versus using properties.

Anyway, if that formulation was confusing I have clarified it later, so you really, ideally, should have no problem grasping this.


According to your own description, setting R1.top moves the rectangle, while setting R2.top resizes it. Perhaps the difference between "move" and "resize" is too subtle for you, but you can trust us on this, they are different semantics.

No, I would absolutely not trust you Steven, whether that's plural or singular, to assign semantics to my examples.


--  like two TV
sets that look the same and work the same except when you open 'em up
and poke around in there, oh holy cow, in this one there's stuff that
isn't in the other.


Whether "top" is an attribute or a property is irrelevant,

Sorry, that's incorrect.

For example, if it is a read only property than you can't assign to the 
property.

For another example, if it is a read/write property than it can update any parts of the rectangle represention.


it is still part of the public API of the class.

Sorry, that's incorrect; it depends on the class.


Such public attributes are NOT private internal details, they are part of the public interface.

Sorry, that's incorrect; it depends on the class, and as far as I know and have been informed here there are no private attributes in Python, just a notational convention.


You've been told this repeatedly.

Sorry, but repeating what you want me to have meant in my example, contrary to the direct text of the example, contrary to its context, choosing a meaningless interpreteration of what's left when you have ignored the text, plus contrary to further clarifications, well that's daft to say the least.


Perhaps one more time may help:

Public attributes are public.

It would be nice if Python had private ones, yes.


Cheers & hth.,

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

Reply via email to