1074 Stimmen

Wie lautet die Namenskonvention in Python für Variablen- und Funktionsnamen?

Da ich aus einem C#-Hintergrund komme, sind die Namenskonventionen für Variablen und Methodennamen normalerweise entweder camelCase oder PascalCase:

// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()

In Python habe ich das oben Gesagte gesehen, aber ich habe auch gesehen, dass Unterstriche verwendet wurden:

# python example
this_is_my_variable = 'a'
def this_is_my_function():

Gibt es einen bevorzugten, endgültigen Codierungsstil für Python?

1131voto

S.Lott Punkte 371691

Siehe Python PEP 8: Funktions- und Variablennamen :

Funktionsnamen sollten sein Kleinbuchstaben, wobei die Wörter durch Unterstriche getrennt werden wenn dies zur Verbesserung der Lesbarkeit erforderlich ist.

Die Variablennamen folgen der gleichen Konvention wie die Funktionsnamen.

mixedCase ist nur in Kontexten erlaubt, in denen dies bereits der vorherrschende Stil ist (z. B. threading.py ), um die Abwärtskompatibilität zu wahren.

1074voto

JohnTESlade Punkte 10741

があります。 Google Python Style Guide hat die folgende Konvention:

module_name , package_name , ClassName , method_name , ExceptionName , function_name , GLOBAL_CONSTANT_NAME , global_var_name , instance_var_name , function_parameter_name , local_var_name .

Ein ähnliches Benennungsschema sollte für eine CLASS_CONSTANT_NAME

300voto

unmounted Punkte 31968

David Goodger (in "Code wie ein Pythonista") aquí ) beschreibt die PEP 8-Empfehlungen wie folgt:

  • joined_lower für Funktionen, Methoden, Attribute, Variablen

  • joined_lower o ALL_CAPS für Konstanten

  • StudlyCaps für Klassen

  • camelCase nur zu entsprechen bereits bestehende Konventionen

57voto

Jonik Punkte 77106

Da die Style Guide für Python-Code zugegeben,

Die Namenskonventionen von Pythons Bibliothek sind ein ziemliches Durcheinander, daher werden wir nie vollständig konsistent werden

Beachten Sie, dass sich dies nur auf Pythons Standardbibliothek . Wenn sie nicht bekommen können dass konsistent ist, dann besteht kaum Hoffnung auf eine allgemein gültige Konvention für todo Python-Code, oder?

Daraus und aus der Diskussion hier würde ich ableiten, dass es sich um no eine schreckliche Sünde, wenn man z.B. die (klaren und gut etablierten) Namenskonventionen von Java oder C# für Variablen und Funktionen beim Übergang zu Python weiter verwendet. Natürlich ist es am besten, sich an den vorherrschenden Stil für eine Codebasis / ein Projekt / ein Team zu halten. Der Python Style Guide weist darauf hin, interne Konsistenz das Wichtigste.

Sie können mich gerne als Ketzer abtun :-) Wie der OP bin ich kein "Pythonista", jedenfalls noch nicht.

38voto

claytron Punkte 1555

Wie bereits erwähnt, empfiehlt PEP 8 die Verwendung von lower_case_with_underscores für Variablen, Methoden und Funktionen.

Ich bevorzuge die Verwendung von lower_case_with_underscores für Variablen und mixedCase für Methoden und Funktionen macht den Code eindeutiger und lesbarer. So folgt die Das Zen der Pythons "Explizit ist besser als implizit" und "Lesbarkeit zählt".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X