对非PEP8兼容代码(E211)会产生不良后果吗?

ast*_*ije 3 python pep8

假设有一个函数定义为:

def thingy(arg1):
    pass
Run Code Online (Sandbox Code Playgroud)

根据书籍和PEP8(错误代码E211),我知道调用它的正确方法是:

thingy(true)
Run Code Online (Sandbox Code Playgroud)

但是,我在现有代码中也看到了以下形式:

thingy (true)
Run Code Online (Sandbox Code Playgroud)

除了反对PEP8,它是否有害?

特别是,它是否可以使用推荐的方式创建一个不会被抛出的不需要的bug /副作用?

Mar*_*ers 5

不,在可调用对象和调用括号之间使用时,空格不重要.

词法分析参考文档:

除了在逻辑行的开头或字符串文字中,空白字符空格,制表符和换页符可以互换使用以分隔标记.仅当两个令牌的串联可以被解释为不同的令牌(例如,ab是一个令牌,但ab是两个令牌)时,才需要两个令牌之间的空格.

除NEWLINE,INDENT和DEDENT外,还存在以下类别的标记:标识符,关键字,文字,运算符和分隔符.空格字符(前面讨论过的行终止符除外)不是标记,而是用于分隔标记.在存在歧义的情况下,当从左到右阅读时,令牌包括形成合法令牌的最长字符串.

强调我的.

在不需要空格的地方,除了在视觉上分离标记之外没有任何意义.thingy并且(已经是两个单独的标记,并且当没有空格时不会将其混淆为一个标记.所以这里空白的存在并不会改变对这条线的解释.