2015-07-31 2 views
8

я делаю обзор кода, и видящие декларации метод так:PEP8 пространство после запятой

def __init__(self,data): 

Я всегда считал, что он должен быть отформатирован следующим образом:

def __init__(self, data): 

Но тогда я проверили PEP 0008 и не увидели точного утверждения об этом. Существует руководство по пробелам вокруг операторов и внутри круглых скобок, но не о запятой.

Если это не описано в PEP8, возможно, существует какое-то неписаное соглашение об этом? Почему я был убежден, что это было в PEP8? Shoud PEP8 будет обновлен?

+1

Я не отправляю это как ответ, так как я не могу найти источник для проверки, но я помню, что читал, что аргументация в этом заключается в том, что Python должен (когда это возможно) имитировать грамматику и правила английского языка. то есть. Список вещей на английском языке разделен запятыми в том же формате, что и в Python. Цель состоит в том, чтобы облегчить читаемость и знакомство с синтаксисом. – SuperBiasedMan

ответ

5

Я не могу найти соответствующее предложение в PEP8, но я думаю, причина, по которой большинство людей считает, что это правило находится в PEP8, равно pip pep8.

По их document:

E231 недостающего пробельных после «»

Поскольку большинство людей используют это как их стиль проверки, легко убедиться в том, что правило действительно в PEP8.

+0

Технически правильно, что у него нет индивидуального правила, но это стиль, который соблюдается в самом руководстве по стилю. Можно утверждать, что рекомендация против пространства между конечной запятой и закрывающей скобкой - это [исключение, которое доказывает правило] (https://en.wikipedia.org/wiki/Exception_that_proves_the_rule). –