[Python-3000] symbols?
Jim Jewett
jimjjewett at gmail.com
Tue Apr 18 20:58:42 CEST 2006
On 4/14/06, Guido van Rossum <guido at python.org> wrote:
> Then, on 4/14/06, Nick Coghlan <ncoghlan at gmail.com> 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
More information about the Python-3000
mailing list