【发布时间】:2015-07-16 13:16:39
【问题描述】:
我刚刚阅读了一个 SOF 线程,我看到很多人都在谈论 Python 的三元运算符。我不知道 Python 有一个等效的三元运算符(三元运算符或条件表达式,无论你觉得舒服)。所以Python三元运算符的语法是...
play_golf if sun_shines else stay_dumb
这里 Python 将在 if 之后测试块 sun_shines。如果块返回true,它将在之前执行块play_golf,否则Python将在否则之后执行块stay_dumb。
另一方面,我猜 C 的三元运算符更具可读性。
sun_shines ? play_golf : stay_dumb
这就像问一个问题sun_shines?真的?好的,然后play_golf 否则stay_dumb。
现在我的问题是……
- Python 在这里的 Python 风格如何?在我看来,“简单胜于复杂”在这里失败了。如果我错了,请澄清我。我想知道我错过了什么?
- 我看到 C 和 Python 条件表达式的执行顺序完全不同。那么它如何等效于C?在将多个语句折叠成一个表达式的方面?
编辑:我想我得到了第二个问题的答案......
Python: true if true else false
C: true ? true : false
【问题讨论】:
标签: python c ternary-operator