簡體   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