
April 20, 2021
9:21 p.m.
https://docs.python.org/3.8/reference/expressions.html#evaluation-order the example states "expressions will be evaluated in the arithmetic order of their suffixes" but for the line: `expr1(expr2, expr3, *expr4, **expr5)` this is not true - or at least misleading. this error goes way back until version 2.5: https://documentation.help/Python-2.5/evalorder.html were the outer 'expr1' was labeled 'func' the actual order should be (if I'm not totally mistaken): expr5(expr1, expr2, *expr3, **expr4) the simple program: def expr(*args, **kwargs): print(*args, *(zip(kwargs.keys(), kwargs.values()))) expr(expr("1"), expr("2"), expr("3"), d=expr("4")) returns: 1 2 3 4 None None None ('d', None)