擅长:python、mysql、java
<p>sys.stdout.write(“second”)不是lambda的一部分。</p>
<p>“second”总是打印出来,即使你不打电话给X。
换句话说,调用X只会打印“first”。</p>
<p>你的代码可以重写为</p>
<pre><code>import sys
X = lambda: sys.stdout.write('first')
sys.stdout.write("second")
print X()
</code></pre>
<p>如果要lambda执行两个语句,请将它们放在一个元组中</p>
<pre><code>lambda: (sys.stdout.write('first'),sys.stdout.write("second"))
</code></pre>