Moved order of evaluation into the Specification section, since it's guaranteed.
This commit is contained in:
parent
3e2bcc6966
commit
088fee8cb8
38
pep-0498.txt
38
pep-0498.txt
|
@ -360,6 +360,25 @@ Leading and trailing whitespace in expressions is skipped
|
|||
For ease of readability, leading and trailing whitespace in
|
||||
expressions is ignored.
|
||||
|
||||
Evaluation order of expressions
|
||||
-------------------------------
|
||||
|
||||
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]
|
||||
|
||||
Discussion
|
||||
==========
|
||||
|
||||
|
@ -602,25 +621,6 @@ having 2 expressions::
|
|||
|
||||
f'{x:.{width}}'
|
||||
|
||||
Evaluation order of expressions
|
||||
-------------------------------
|
||||
|
||||
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
|
||||
-------------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue