2016-04-22 132 views
6

E226錯誤代碼約爲「算術運算符周圍缺失空格」PEP8 E226推薦

我使用Anaconda的包在崇高將突出作爲PEP8 E226違反例如這一行:

hypot2 = x*x + y*y 

但在Guido's PEP8 style guide該行實際上被示出爲運營商內的的空間recommended use例子。

問題:這是正確的指導方針?總是在操作員周圍留出空間,或者在某些情況下(如Guido的建議所示)?

另外:誰決定進入PEP8的內容?我會認爲Guido的推薦幾乎可以確定這是如何工作的。

+1

不確定你希望在這裏得到什麼答案...... PEP 8是PEP 8. Sublime的PEP 8樣式檢查器是一個不同的主題。也許/顯然該包的實施者沒有完全按照PEP 8實際建議中的描述來實施該特定規則。 – deceze

+0

對不起,我添加了我的實際問題,以便更清楚。我想知道哪一條準則是正確的。第二個問題是一個不太重要的問題。 – Gabriel

+0

恩,你的問題只有一條指導方針,你想讓我們選擇什麼? – wRAR

回答

8

PEP8工具的維護者決定進入它的內容。

正如您所注意到的,這些並不總是完全符合PEP8風格指南。在這種特殊情況下,我不知道維護人員是否認爲這是一個錯誤,或者是一個蓄意的決定。你必須要求他們找出答案,否則你可能會在提交歷史記錄中找到答案。

Guido最近要求pep8和pep257工具的維護人員重新命名它們,以避免這種混淆。 See this issue for example。結果,這些工具分別被重新命名爲pycodestyle和pydocstyle。

+1

感謝您澄清,Alasdair。我認爲這樣的事情很久以前就會解決。 – Gabriel

5

它說,在PEP8:

如果使用具有不同優先級的運營商,考慮添加空格周圍的經營者與最低優先級(IES)。 使用您自己的判斷;但是,從不使用多個空格,並且在二元運算符的兩側始終具有相同數量的空白。 (重點是我自己的)。

在所列出的例子中,+具有較低的優先級,所以BDFL選擇使用空白圍繞它和周圍使用較高優先級*沒有空格。

+1

請解釋downvotes。無法從沉默中學習任何東西。:) – erip

+1

我upvoted,我有**從來沒有**理解downvotes沒有給出解釋。對我來說,他們什麼都不加。 – Gabriel

+0

我沒有downvote,但我想這是因爲你的回答不回答OP的問題 - 即Q1:是pep8文本還是pep8-工具是否正確?和Q2:誰決定進入什麼內容PEP8? – thebjorn