python - C 和 Python 三元运算符之间的区别

标签 python c ternary-operator

嗯,我刚刚读了一个 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/

相关文章:

python - 我应该如何在不丑陋的情况下在 Windows 上启动一个 Portable Python Tkinter 应用程序?

c - 指向包含数组的结构的指针

c - 如何处理c中的错误返回

ruby - 是三元运算符? : defined as a method in Ruby?

python - 何时需要Elasticsearch进行数据分析和客户服务

python - 如何在 pygame 中创建 "while mouse down"循环

c - 汇编:如何将 float 扩展为 double 以便使用 sin 函数

c - 三元运算符作为 C 宏中三元运算符的操作数

javascript - 使用三元运算符缩短代码

python - 如何将从 Chrome 复制的 css 选择器路径转换为 ​​beautifulsoup 对象?