2015-07-31 15 views
8

che sto facendo la revisione del codice, e le dichiarazioni di metodo vedendo così:spazio PEP8 dopo una virgola

def __init__(self,data): 

ho sempre pensato che deve essere formattato in questo modo:

def __init__(self, data): 

Ma poi ho controllato PEP 0008 e non vedere alcuna dichiarazione esatta a riguardo. C'è una guida sugli spazi bianchi attorno agli operatori e tra parentesi, ma non sull'elenco separato da virgole.

Se non è descritto in PEP8, probabilmente c'è una convenzione non scritta su questo? Perché ero convinto che fosse in PEP8? Shoud PEP8 essere aggiornato?

+1

Non sto postando questo come risposta dato che non riesco a trovare la fonte da verificare, ma ricordo di aver letto che il ragionamento dietro questo è che Python dovrebbe (quando può) imitare la grammatica inglese e le regole. vale a dire. Un elenco di cose in inglese è separato da virgole nello stesso formato in Python. L'intenzione è di facilitare la leggibilità e la familiarità con la sintassi. – SuperBiasedMan

risposta

5

Non riesco a trovare la frase corrispondente in PEP8, ma suppongo che la ragione per cui molte persone credono che questa regola sia in PEP8 è pip pep8.

Secondo il loro document:

E231 spazio bianco mancante dopo ''

Come la maggior parte delle persone usano questo come il loro correttore stile, è facile essere convinti che la regola è davvero in PEP8.

+0

Tecnicamente corretto che non ha una singola regola, ma è uno stile rispettato nella guida allo stile stesso. Si potrebbe obiettare che la raccomandazione contro lo spazio tra una virgola finale e una parentesi chiusa è [l'eccezione che conferma la regola] (https://en.wikipedia.org/wiki/Exception_that_proves_the_rule). –

Problemi correlati