擅长:python、mysql、java
<p>在线上有两个语句,第一个是在<code>lambda</code>中,该语句只在<code>sys.stdout.write("second")</code>已经运行之后才得到<code>called</code>。<code>X()</code>调用lambda。</p>
<p>所以它不是从右到左,我们只有一个lambda,它只在下一行被调用。定义一个函数,写入sys.stdout,然后调用该函数也没有什么不同。</p>
<p>对正常函数执行等效操作:</p>
<pre><code>sys.stdout.write("second")
def x():
sys.stdout.write('first')
x()
</code></pre>
<p>对于另一个示例,需要指定lambda,然后调用它:</p>
<pre><code>x= lambda: sys.exit(0);sys.stdout.write("...")
x()
</code></pre>
<p>使用<code>;</code>并在一行有多个语句通常不是pythonic或非常好的主意。</p>