Vis*_*hwa 4 python if-statement python-2.7
当条件匹配时,我一直试图摆脱循环.我试过下面的单行:
break if a is not None else time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
还有这个
a is not None and break
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
两者都没有工作和投掷,SyntaxError而直接工作正常.
if a is not None:
break
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
虽然我这样使用它没有问题,但我只是想知道为什么上面的语法是错误的.
表达 表达 if 表达 else 表达是一个三元运算符.表达式被评估.break是一份声明.它没有被评估,它被执行了.您收到语法错误,因为语法不正确.
正如@hugo Rivera在下面所说,"所有表达都是陈述,但并非所有陈述都是表达."