Python dot-equals (syntax proposal)

Simon simonluijk at googlemail.com
Sat May 1 02:03:30 EDT 2010


Hay I got a better idea. If you put two dots (..) on a line by itself it
means
execute the previous line again!

On 1 May 2010 07:08, Patrick Maupin <pmaupin at gmail.com> wrote:

> On Apr 30, 11:04 am, Jabapyth <jabap... at gmail.com> wrote:
> > At least a few times a day I wish python had the following shortcut
> > syntax:
> >
> > vbl.=func(args)
> >
> > this would be equivalent to
> >
> > vbl = vbl.func(args)
> >
> > example:
> >
> > foo = "Hello world"
> > foo.=split(" ")
> > print foo
> > # ['Hello', 'world']
> >
> > and I guess you could generalize this to
> >
> > vbl.=[some text]
> > #
> > vbl = vbl.[some text]
> >
> > e.g.
> >
> > temp.=children[0]
> > # temp = temp.children[0]
> >
> > thoughts?
>
> First thought:  good luck getting something like this through.
> Probably not going to happen, although I do find the idea very
> intriguing.
>
> Second thought:  I don't like the proposed syntax at all.
>
> +=, -=, /=, *=, etc.  conceptually (and, if lhs object supports in-
> place operator methods, actually) *modify* the lhs object.
>
> Your proposed .= syntax conceptually *replaces* the lhs object
> (actually, rebinds the lhs symbol to the new object).
>
> If this were to be deemed worthy of the language, I would think a
> better syntax would be something like:
>
>  mystring = .upper()
>  mystring = .replace('a', 'b')
>
> etc.
>
> The '=' shows clearly that mystring is being rebound to a new object.
>
> As Steven has shown, '.' functions as an operator, so if this change
> were accepted, in reality you would probably be able to write:
>
> mystring = . upper()
> mystring=.upper()
>
> or whatever.  But the canonical form would probably be with a space
> before the period but not after.
>
> Regards,
> Pat
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100501/8c080372/attachment.html>


More information about the Python-list mailing list