python - 为什么这个 python 代码有效?

标签 python

# this code I don't understand 
def cls():                       #if statement freaks me out
    os.system('cls' if os.name=='nt' else 'clear')

我知道它有效,但不知道为什么有效。在仔细阅读 google、python 文档和 stackoverflow 几个小时后,我还是一无所知。我一直无法找到任何解释在这样的函数调用中使用 IF 语句的方式。我已经在 2.7 和 3.5 下运行它,所以它似乎并不特定于特定版本。我已经看到用 for 循环完成的类似事情有点让人觉得它可能是一种标准的做事方式。我自己有点喜欢。只是不明白它是如何工作的。

我对 IF 语句在系统调用中的计算方式感到困惑,尤其对 IF 语句的语法感到困惑。我在阅读的任何文档中都没有看到该语法。

Python 对我来说是全新的。如果这很简单,请原谅我。但我不明白。

最佳答案

如果您更熟悉类 C 语言及其三元运算符,Python 的 a if b else cb 类似吗?一个:c。因此,上面的代码说:

if we are on NT/Windows
  then use `cls`
else (for Linux, etc) use `clear`

然后将结果传递给 os.system() 命令以执行操作系统特定的操作。

这里是 some tutorial information on this subject .

关于python - 为什么这个 python 代码有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216973/

相关文章:

Python 3.5 导入错误 : dynamic module does not define module export function (PyInit_cv2)

python - 如何使用 pytest 测试交互式 python 应用程序

python - cqlsh 命令在 cassandra 2.0.8 中不起作用

Python正则表达式匹配给定字符串中的多个模式

python - 在 Python 中连接字符串的最有效方法

python - Amazon Linux AMI EC2 - librrd.so.2 依赖性问题

python - 当我转到另一个功能后,我的麦克风会恢复监听状态

python - 如何在不提供文件名的情况下执行 python?

python - 使用 python 编程时在迭代时修改列表

python - BeautifulSoup 和 HTML.parse 的问题