在那儿 '?' Python中的控制流?

可能重复:
Python三元运算符

控制流操作符是否与'?'类似 C / C ++在python中的使用?

如果有一段代码与此类似:

return n <= 1 ? n : fibo(n-1) + fibo(n-2)

会有这样的错误:

File "fibonacci.py", line 2
    return n <= 1 ? n : fibo(n-1) + fibo(n-2)
                  ^
SyntaxError: invalid syntax

是的,条件表达式在Python 2.5+中可用:

return n if n <= 1 else fibo(n-1) + fibo(n-2)

你可以尝试这个短路表达式return n > 1 and fibo(n-1) + fibo(n-2) or n 。 虽然这不是三元的陈述,但它是简洁的,并且在这种情况下完成工作。

链接地址: http://www.djcxy.com/p/7401.html

上一篇: Is There '?' Control Flow in Python?

下一篇: python: iif or (x ? a : b)