你知道Python是否支持像C++中的某些关键字或表达式来返回基于if条件的值,所有这些都在同一行(if用问号表示的C++ ?)
// C++
value = ( a > 10 ? b : c )
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 132
从Python 2.5开始,您可以:
value = b if a > 10 else c
Run Code Online (Sandbox Code Playgroud)
以前你必须做类似下面的事情,虽然语义不一样,因为短路效应丢失了:
value = [c, b][a > 10]
Run Code Online (Sandbox Code Playgroud)
还有另一个hack使用'和......或'但最好不要使用它,因为它在某些情况下会导致难以发现的错误.我甚至不会在这里写黑客,因为我认为最好不要使用它,但如果你愿意,你可以在维基百科上阅读它.
| 归档时间: |
|
| 查看次数: |
75935 次 |
| 最近记录: |