def key(): print 'key'
def val(): print 'val'
{key() : val()}
打印
val, key
,即首先评估该值。这是行为吗最佳答案
引用手册的此部分记录了该顺序,但声称与您所看到的不同:http://docs.python.org/2/reference/expressions.html#evaluation-order
expr1, expr2, expr3, expr4
(expr1, expr2, expr3, expr4)
{expr1: expr2, expr3: expr4}
expr1 + expr2 * (expr3 - expr4)
expr1(expr2, expr3, *expr4, **expr5)
expr3, expr4 = expr1, expr2
并且有一个针对该实现的 Unresolved 错误:Evaluation order of dictionary display is different from reference manual。
关于python - 字典文字的评估顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15681054/