diff --git a/pep-0498.txt b/pep-0498.txt index d5ce55ce9..86190ca24 100644 --- a/pep-0498.txt +++ b/pep-0498.txt @@ -602,10 +602,24 @@ having 2 expressions:: 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 -------------------------------