嗯,我刚刚读了一个 SOF 线程,我看到很多人都在谈论 Python 的三元运算符。我不知道Python有一个等价的三元运算符(三元运算符或条件表达式,无论你觉得舒服什么)。所以Python三元运算符的语法是...
play_golf if sun_shines else stay_dumb
这里Python将测试 block sun_shines
如果之后。如果 block 返回 true
它将执行 block play_golf
if else 之前 Python 将执行 block stay_dumb
之后。
另一方面,我认为 C 的三元运算符更具可读性。
sun_shines ? play_golf : stay_dumb
这就像问一个问题 sun_shines
?真的?好吧play_golf
否则stay_dumb
.
现在我的问题是...
- Python 为何如此 Pythonic?我认为“简单胜于复杂”在这里失败了。如果我错了,请澄清我。我想知道我缺少什么?
- 我发现 C 和 Python 条件表达式的执行顺序完全不同。那么它如何相当于C呢?将多个语句折叠成一个表达式?
编辑:我想我得到了第二个问题的答案......
Python: true if true else false
C: true ? true : false
最佳答案
Now my questions are...
How Python is more Pythonic here? "Simple is better than complex" failed here in my opinion. If I am wrong please clarify me. I want to know what I am missing?
英文句子是
如果天气好我们就去海滩,否则我们就呆在家里。
突出显示正确的单词,省略填充物:
gotobeach if weather == "nice" else stayathome
这看起来很像有效的 Python ;)
Execution order of C and Python conditional expression is completely different I see.
没有。事实并非如此。
首先,解析该行,然后评估 if 后面的条件,然后评估任一语句。
关于python - C 和 Python 三元运算符之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30076116/