[英]Can a PyCharm IDE put a space before and after keyword arguments, parenthesis, and operators like in PyDev?
[英]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.