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

蓝调

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

1 and1会引发 SyntaxError。

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

琼斯夏普

词法分析

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

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python中的布尔运算符

为什么C ++在出现!时找不到布尔运算符?范围内的运算符?

为什么在expr中用算术运算符填充空格?

布尔运算符的python扩充分配

:nth-child(n)前面的空格有什么作用?

RxJava与布尔运算符结合

Javascript布尔运算符混淆

布尔运算符评估顺序

Java布尔运算符的StringFormat

&&布尔运算符的求值

C ++中的布尔运算符

布尔运算符&&和||

布尔运算符和ClientHandler

布尔运算符与按位运算符

Python XOR首选项:按位运算符与布尔运算符

为什么有些语句不能与布尔运算符一起使用

Javascript如何跳过基于空格定界符的除以一定顺序后面的空格

使用PHP substr,如何找到以前的空格而不是后面的空格?

删除单词和前面的空格

C中模式前面的Printf空格

在Julia中捕获前面的空格

怎么去掉标点前面的空格

汇编 8086,为什么后面的指令在执行后不修改前面的指令

为什么在使用IndexOf(string)和IndexOf(char)时非组合变音符前面的空格不同?

这不是在C ++中使用布尔运算符吗?

寻找早返回的RxJs运算符,跳过下面的运算符,而不是filter()或skip()

为什么〜(true ^ true)不成立?布尔运算符(否定)适用于`unsigned char`,而不适用于布尔值吗?(C ++)

在R编程中,any和|之间有什么区别?(或)布尔运算符?

为什么AND(&&)运算符返回数组而不是布尔值?