Added section on order of evaluation.
This commit is contained in:
parent
174ea8308e
commit
75f463a375
20
pep-0498.txt
20
pep-0498.txt
|
@ -602,10 +602,24 @@ having 2 expressions::
|
||||||
|
|
||||||
f'{x:.{width}}'
|
f'{x:.{width}}'
|
||||||
|
|
||||||
Expressions with side effects
|
Evaluation order of expressions
|
||||||
-----------------------------
|
-------------------------------
|
||||||
|
|
||||||
xxx
|
The expressions in an f-string are evaluated in left-to-right
|
||||||
|
order. This is detectable only if the expressions have side effects::
|
||||||
|
|
||||||
|
>>> def fn(l, incr):
|
||||||
|
... result = l[0]
|
||||||
|
... l[0] += incr
|
||||||
|
... return result
|
||||||
|
...
|
||||||
|
>>> lst = [0]
|
||||||
|
>>> f'{fn(lst,2)} {fn(lst,3)}'
|
||||||
|
'0 2'
|
||||||
|
>>> f'{fn(lst,2)} {fn(lst,3)}'
|
||||||
|
'5 7'
|
||||||
|
>>> lst
|
||||||
|
[10]
|
||||||
|
|
||||||
Expressions used multiple times
|
Expressions used multiple times
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
Loading…
Reference in New Issue