为什么这在Python中不起作用?
if 1 != 1 or
2 != 2:
print 'Something is wrong...'
答案 0 :(得分:6)
也许这可以防止语法模糊,但我觉得这种行为符合PEP 20的精神,特别是“简单比复杂更好”(等等)。换句话说,“除非你有充分的理由,为什么表达式应该跨越多行?”。如果你有充分的理由,那么就提供了解决这个问题的语法设备。
[编辑] 我做了一些阅读,并且有一些感兴趣的参考文献:
\
)延续,但由于缺乏支持而被拒绝。
x = y+ # Used to be y+1, the 1 got dropped
f(x)
我的最后一点是,斜线行为(或开放的行为)提醒人们,声明将在下一行继续。根据你的缩进,延续可能会被误认为是一个单独的陈述(我认为其他response会触及)。
答案 1 :(得分:4)
如果括号,括号或大括号打开,隐式行继续只在Python中发生。把括号括在你的条件周围,它会起作用。
答案 2 :(得分:4)
因为“明确胜过隐性”;一个未标记的行继续抛出代码的读者(特别是在具有语法上重要的空格的语言中),并且代码的读取频率比写入代码的频率高得多。