【发布时间】:2011-12-08 08:50:48
【问题描述】:
有类似'?'的控制流算子吗? python中的C/C++?
如果有类似这样的代码块:
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或其他algol后代中没有很多三元运算符。这在 phihag 的回答中被唯一标识为“条件表达式”