gpt4 book ai didi

与门中的python return语句

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:46 24 4
gpt4 key购买 nike

我并不是在提倡这是一种好的风格,我只是好奇为什么它不起作用(无效语法)并且我的搜索失败了。

def f(x):
x and return x
return 0

这在 perl 中确实有效,例如:

sub f {
my $x = shift;
$x && return $x
return 0
}

最佳答案

Python 是一种区分语句和表达式的语言。

return 是一个语句,它不能用在需要表达式的地方。

与通常具有这种二元性的语言相反,相反是有效的,因为表达式可以被视为语句(例如,您可以将 foo() 编写为语句)。

如果你喜欢一行,你的代码可以写成

return x if x else 0

或者更简单的说

return x or 0

因为 or 运算符返回的第一个操作数是“真实的”,而不仅仅是 TrueFalse (并且还会短路,即,如果左操作数为真,则不评估右操作数)。

关于与门中的python return语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701210/

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