为什么python允许省略布尔运算符前面的空格而不是后面的空格?

这有效:
1and 1并评估为1.

1 and1会引发 SyntaxError。

为什么前面的空格是可选的,后面的空格不是?

回答

每词法分析:

仅当它们的串联可以被解释为不同的标记时,两个标记之间才需要空格...

and1是一个有效的标识符,因此and1可以解释为单个标记,而1and不是,因此不能解释。

大概至少部分是因为这个,PEP-8建议总是用空格包围它们:

总是围绕这些二元运算符在任一侧的单个空间:分配(=),增量赋值(+=-=等),比较(==<>!=<><=>=innot inisis not),布尔值(andornot)。


以上是为什么python允许省略布尔运算符前面的空格而不是后面的空格?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>