On 4/14/06, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> Then, on 4/14/06, Nick Coghlan <[EMAIL PROTECTED]> wrote:
> [...]
> class C:
>   x = property(._get_x, ._set_x, ._del_x,
>                "This is the x property")
> [...]

> This is slightly more Pythonic, and unambiguous, but I'd rather
> reserve leading dot for a more powerful feature, perhaps .foo as an
> abbreviation for self.foo, or some other scope-ish operator. (I also
> note that in a proportional font the . is easily missed.)

Does that conflict?  Wouldn't self._get_x fall through to
self.__class__._get_x, which is exactly what you want?  (Except that
you *might* the ability to override methods on a per-instance basis.)

> So this begs the question: would the following assertion pass or fail?
>
>     assert .foo == "foo"
>
> What about this one?
>
>     assert type(.foo) == str

If .foo is a syntactic change, it might not require that an object be
created (for the name) at all.  That said, if an object is created,
then I believe

    assert .foo is "foo"

should be true, because foo is constant string that looks like a name,
and should therefore be interned.

-jJ
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to