gpt4 book ai didi

python - Python 中的 Lambda 和多语句

转载 作者:太空狗 更新时间:2023-10-30 00:22:49 24 4
gpt4 key购买 nike

谁能解释一下 lambda 函数的行为?

import sys
X = lambda: sys.stdout.write('first');sys.stdout.write("second")
X()

返回:-> secondfirst

还有一个问题:

lambda: sys.stdout.write("...");sys.exit(0) 

或者

lambda: sys.exit(0);sys.stdout.write("...")

没有正确执行。还有一个问题,为什么第一个 primer 的执行流程是从右到左的?

尝试:Python3+(3.4, 3.2)操作系统:Linux(Ubuntu)、OSX

最佳答案

sys.stdout.write("second") 不是 lambda 的一部分。

'second' 总是被打印出来,即使你不调用 X。换句话说,调用 X 只会打印“第一”。

您的代码可以重写为;

import sys
X = lambda: sys.stdout.write('first')
sys.stdout.write("second")
print X()

如果你想让 lambda 执行两个语句,将它们放在一个元组中;

lambda: (sys.stdout.write('first'),sys.stdout.write("second"))

关于python - Python 中的 Lambda 和多语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com