PEP 572 -- Assignment Expressions

Chris Angelico rosuav at gmail.com
Tue Nov 27 12:50:52 EST 2018


On Wed, Nov 28, 2018 at 4:38 AM Ivo Shipkaliev <ivo.shipkaliev at gmail.com> wrote:
>
>    Hello.
>    Maybe it's too late for a discussion, but I just couldn't resist.
>    I just found out about this new ":=" operator. I need to ask:
>
>    What is the need for this additional ":" to the "="?
>    Why:
>          if (match := pattern.search(data)) is not None:
>                # Do something with match
>
>    What is wrong with:
>          if match = pattern.search(data) is not None:
>                # Do something with match
>
>    Assignment expression or assignment statement, it's an assignment,
> right? It is very clear to everyone that it's an assignment! Can't it all
> just be a "="?
>    Thank you very much!

It's a bug magnet.

https://www.python.org/dev/peps/pep-0572/#why-not-just-turn-existing-assignment-into-an-expression

ChrisA



More information about the Python-list mailing list