繁体   English   中英

Python - =、+、-等运算符前后的空格

[英]Python - Space before and after operators like =, +, - etc

遵循 python 的 PEP 8 规则,您应该在运算符前后使用空格,例如“x = 1 + 2”。 我遵循这个约定,我不喜欢没有空格。

目前我正在从事 Django 项目,我想包含一个带有关键字的.html 文档。

> {% include "pagination.html" with page = shares %}

如果我像上面写的那样运行它,我会得到一个关键字错误:

'include' 标签中的 "with" 至少需要一个关键字参数。

在 = 之前和之后没有空格,它可以正常工作。 这是唯一的方法还是有其他方法?

先感谢您。

如前所述,这是 Django 模板语言不是真正的 Python,因此 Python 样式规则不适用。

但是,我认为page=shares in

{% include "pagination.html" with page=shares %}

是命名参数绑定而不是赋值。 因此,它与此 Python 一致:

self.someMethod(1, 2, someFlag=True)

PEP 样式规则规定参数绑定中的=周围不应有空格。 在这种情况下,它不是运算符。

但无论哪种方式,模板语言都是如此。 要么接受,要么离开它。


这是唯一的方法还是有其他方法?

AFAIK,这是唯一的方法。 (正确的方式,IMO。)

在某些情况下,您不应该使用空格,例如将默认值设置为 function 参数时,或者在传递 kwargs(关键字参数)时,例如您的情况。

请参阅: https://peps.python.org/pep-0008/#whitespace-in-expressions-and-statements

不,您必须删除 = 运算符前后的空格,因为如果在参数名称 & = & 参数值之间添加空格,解释器无法区分 arguments,它会获取参数名称但找不到值。

所以你必须删除 operator = 前后的空格,让解释器知道它是提供的参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM