我正在使用Python 3.6。我注意到以下情况是不允许的:
while something:
# do something
# This is an invalid syntax
break if condition else pass
由于自v2.5起允许conditional expressions,为什么不允许这种用法?
答案 0 :(得分:4)
三元运算符需要表达式,而 code{
display: inline-block;
over-flow: scroll;
width: 90%;
}
和break
都是语句。
答案 1 :(得分:1)
你的问题的答案是break
是一个陈述,而不是一个表达。 Python的开发人员明确决定他们不希望Python成为基于表达式的语言,因此构造的语法错误。正如@Dmitry指出的那样,没有办法避免使用break
语句。
答案 2 :(得分:0)
使用这种方式:
while something:
if condition:
break
else:
...
注意三元条件运算符不适用于python语句。