Manchmal breche ich lange Bedingungen in if
s auf mehrere Zeilen. Der naheliegendste Weg, dies zu tun, ist:
if (cond1 == 'val1' and cond2 == 'val2' and
cond3 == 'val3' and cond4 == 'val4'):
do_something
Das ist optisch nicht sehr ansprechend, weil die Aktion mit den Bedingungen verschmilzt. Es ist jedoch die natürliche Art und Weise, die korrekte Python-Einrückung von 4 Leerzeichen zu verwenden.
Im Moment benutze ich:
if ( cond1 == 'val1' and cond2 == 'val2' and
cond3 == 'val3' and cond4 == 'val4'):
do_something
Aber das ist nicht sehr hübsch :-)
Können Sie einen alternativen Weg empfehlen?
2 Stimmen
Wenn Ihr Editor die Funktion Pep8 Python-Paket, um zu erkennen, wann eine Warnung über PEP8 Verstöße, müssen Sie entweder den E125-Fehler deaktivieren oder eine Formatierungslösung finden, die den Anforderungen der
pep8
Kriterien des Pakets. Die Websitepep8
des Pakets Ausgabe #126 geht es darum, das Paket strikt an die PEP8-Spezifikation anzupassen. Die Diskussion zu diesem Thema enthält einige Stilvorschläge, die auch hier zu sehen sind.1 Stimmen
Beachten Sie, dass pep8 für das erste Beispiel "E129 visuell eingerückte Zeile mit gleichem Einzug wie die nächste logische Zeile" ausgibt.
0 Stimmen
Diese Frage ist sehr alt und es gibt eine Menge Meinungen, aber sie ist eindeutig meinungsbasiert. Die Formulierungen "ist nicht sehr ansprechend" und "ist nicht sehr hübsch" legen die Kriterien dafür fest, dass die vermeintlich richtige Antwort diejenige ist, die am besten mit den ästhetischen Vorlieben des Fragestellers übereinstimmt (d. h. eine Meinung). Ich könnte genau dieselbe Frage stellen und behaupten, dass es sich nicht um ein Duplikat handelt, weil mein ästhetischer Geschmack sie als anders qualifiziert und zu einer anderen "richtigen" Antwort führen wird.
2 Stimmen
@Z4-tier: Ja, es ist eine Meinungsäußerung. Aber sie wurde vor 12 Jahren gestellt. SO war eine andere, kinder Ort zu dieser Zeit. In letzter Zeit häufen sich die Ablehnungen, da sich die Standards von SO geändert haben. Dennoch hoffe ich, dass er mit über 1 Mio. Aufrufen mehr Gutes als Schlechtes in der Welt bewirkt. Ich kann mir gut vorstellen, dass Leute, die sich heute die gleiche Frage stellen, sie googeln, auf diese Diskussion stoßen und sie als nützlich empfinden, um ihr Denken zu kalibrieren. Es gibt mehrere hochgradig stimmige Antworten, aus denen man wählen kann.
2 Stimmen
@EliBendersky völlig einverstanden. Es ist, als hätte SO eine ständige Identitätskrise: Obwohl es eindeutig nicht "den Regeln" entspricht (die Anzahl der gültigen Antworten ist ein Beweis dafür), ist es ebenso klar, dass es einen Mehrwert bietet. Alles in allem würde ich lieber mit jemandem zusammenarbeiten, der artikulierbare und begründete Ansichten über den Codierungsstil entwickelt hat, selbst wenn sich seine Ansichten von meinen unterscheiden.