# 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 c
与 b 类似吗?一个:c
。因此,上面的代码说:
if we are on NT/Windows
then use `cls`
else (for Linux, etc) use `clear`
然后将结果传递给 os.system()
命令以执行操作系统特定的操作。
关于python - 为什么这个 python 代码有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216973/