Y
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
majewsky
2912 days ago
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):
link
sametmax
2912 days ago
That's why parenthesis are mandatory.
link
icebraining
2912 days ago
:= overrules everything except a comma, so it's the latter. Still, I agree it's potentially confusing.
link