Hacker News new | ask | show | jobs
by hultner 2912 days ago
You're allowed to do assignments inside of expressions

E.g.

    if(x:=f() is not None):
        print(x)
You can read more about it here: https://www.python.org/dev/peps/pep-0572/
1 comments

I'm immediately skeptical after seeing this example because I'm not sure if the first line parses as:

  if (x := f()) is not None:
or as:

  if x := (f() is not None):
That's why parenthesis are mandatory.
:= overrules everything except a comma, so it's the latter. Still, I agree it's potentially confusing.