Message392015
>>> import dis
>>> @dis.dis
... def funcdef(k): return k in {None} ... 2 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None})) 4 COMPARE_OP 6 (in) 6 RETURN_VALUE
>>> regass = lambda k: k in {None}
>>> dis.dis(regass)
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 1 (frozenset({None}))
4 COMPARE_OP 6 (in)
6 RETURN_VALUE >>> dis.dis(walrus:=lambda k: k in {None})
1 0 LOAD_FAST 0 (k)
2 LOAD_CONST 0 (None)
4 BUILD_SET 1
6 COMPARE_OP 6 (in)
8 RETURN_VALUE
As the third example demonstrates, the code for the anonymous function assigned to walrus by an assignment expression isn't receiving the relatively recent frozenset optimization. |
|
Date |
User |
Action |
Args |
2021-04-27 02:13:49 | bup | set | recipients:
+ bup |
2021-04-27 02:13:48 | bup | set | messageid: <1619489628.98.0.0361601429976.issue43947@roundup.psfhosted.org> |
2021-04-27 02:13:48 | bup | link | issue43947 messages |
2021-04-27 02:13:48 | bup | create | |
|