擅长:python、mysql、java
<p>事件顺序如下:</p>
<pre><code>print i,
print name,
val = valuate(name) # prints ord('A')
print val
</code></pre>
<p>通过查看为<code>print i, name, valuate(name)</code>生成的字节码可以证实这一点:</p>
<pre><code> 11 19 LOAD_FAST 0 (i)
22 PRINT_ITEM
23 LOAD_FAST 1 (name)
26 PRINT_ITEM
27 LOAD_GLOBAL 1 (valuate)
30 LOAD_FAST 1 (name)
33 CALL_FUNCTION 1
36 PRINT_ITEM
37 PRINT_NEWLINE
</code></pre>
<p>我不知道这个评估顺序是否有保证(快速搜索没有发现任何东西)。我绝对不会依赖它,因此也不会编写这样的代码。你知道吗</p>