2016-03-30 5 views
-1

Ich bin vertraut mit Java-Namenskonventionen, wo Sie Ihre Methoden benennen können, solange es mit Kleinbuchstaben beginnt, so dass methodForTest() akzeptabel ist.Warum erlaubt PyCharm keine Großbuchstaben bei der Methodenbenennung?

Allerdings beschwert sich Python (PyCharm IDE) auf diese Weise und es erfordert alle Kleinbuchstaben.

Warum? Kann ich das deaktivieren, damit ich bei der Methodenbenennung Großbuchstaben verwenden kann?

+1

es beschwert, aber nicht zwingen Sie zu folgen PEP8, dies ist jedoch Python, nicht Java, und PEP8 sollte so viel wie möglich gefolgt werden. –

+0

Sie können eine Methode mit einem Großbuchstaben erstellen. Sie erhalten nur eine Warnung, da dies gegen den [PEP8] (https://www.python.org/dev/peps/pep-0008/) Styleguide verstößt. – idjaw

+0

Es ist völlig erlaubt. Es ist nur entmutigt, wie eine Java-Methode 'method_for_test' zu benennen. – user2357112

Antwort

10

Python hat keine solche Beschränkung.

Python-IDs müssen mit einem Unterstrich oder einem Buchstaben (Groß- oder Kleinschreibung) beginnen, gefolgt von einer beliebigen Anzahl von Unterstrichen, Ziffern oder Buchstaben (wiederum Groß- oder Kleinbuchstaben, egal); Das bedeutet, dass ein ALL_UPPERCASE-Name Python absolut gültig ist. Siehe Abschnitt Identifiers and keywords in der Referenzdokumentation; Python 3 expanded on this by allowing a wider range of Unicode.

jedoch die weithin angenommen PEP 8 Python styleguide tut dies auf naming functions zu sagen:

Funktionsnamen klein geschrieben werden sollte, mit von Unterstrichen getrennte Wörter wie nötig die Lesbarkeit zu verbessern.

Dies ist eine Konvention jedoch keine syntaktische Anforderung. Vielleicht hat Ihre IDE einen Linter installiert, der warnt, wenn Sie diese Konvention brechen. Sie können, wenn Sie dies wünschen, es ignorieren. Ich stelle fest, dass zum Beispiel PyCharm implements such a check.

In PyCharm, können Sie auf das Warnsymbol klicken und PyCharm sagen, die Klasse von Fehlern zu ignorieren:

PyCharm *Ignore errors like this* option

Auch die PyCharm documentation on suppressing inspections sehen.

0

Python ist wirklich permissiv (zu viel vielleicht) und lassen Sie Sie tun, was immer Sie wollen.

Sie können Ihre Klassen, Methoden und Variablen so benennen, wie Sie möchten. Sie können auf jede Variable einer Instanz zugreifen, es gibt kein öffentliches/privates Konzept.

Pycharm/IntelliJ warnt Sie nur, aber Sie werden nicht gezwungen, PEP8 zu folgen, dies ist jedoch Python, nicht Java, und PEP8 sollte so weit wie möglich befolgt werden.

Python ist alles über Lesbarkeit über fanciness, zum Beispiel:

[x for x if a_list if x == 1] 

vorzuziehen

map(lambda x: x == 1, a_list) 

sowie

class MySuperAwesomeClass: 
    pass 

def my_super_function(): 
    pass 

vorzuziehen

class my_super_awesome_class: 
    pass 

def mySuperFunction() 
    pass 

Auf diese Weise, vor allem in einem Team von Entwicklern oder in einem Open-Source-Projekt mit mehreren Teilnehmern, gibt es eine Art Konvention, die alle anderen Leben zu erleichtern folgt.

Verwandte Themen