Ich bin ein ziemlich starker Python-Coder, aber zu viel von meinem Stil ist ein wenig willkürlich, und ich bin mir sicher, dass es für viele Probleme mehr Pythonic-Lösungen gibt als die, mit denen ich komme. Welche PEPs sind für jeden versierten Pythonista wichtig?Welche PEPs müssen gelesen werden?
Antwort
Definitiv PEP 8, ein Style Guide für Python.
Verwenden Sie eine schwere Dosis des gesunden Menschenverstandes beim Lesen. Ignoriere den Abschnitt über "79 Zeichen" vollständig; Es ist bräunlich und führt zu einem hässlichen, schwer lesbaren Code, der keinen wirklichen Nutzen bringt (dies wurde 2001 geschrieben und vernünftige Entwicklungssysteme waren damals nicht 80x25). Die Schrecken des "Rectangle" -Beispiels zeigen das Problem sehr deutlich. –
Trotz meines 22 "-Bildschirms sind alle meine Editor/Terminal-Fenster auf 80 Zeichen festgelegt und ich versuche, den Code entsprechend zu schreiben. (Aber, wie Terry Pratchett es ausdrückt, Regeln sollen Sie zum Nachdenken bringen, bevor Sie sie brechen.) – bayer
+ 1 für PEP 8. Ich versuche auch mein Bestes, um es bei 80 zu halten. – fengshaun
Ich fand, dass das Lesen der Abgelehnten ein paar gute Einsichten darüber gibt, was Pythonic ist und was nicht. Das war vor einer Weile, also habe ich keine konkreten Beispiele.
Es ist jetzt retrospektiv, aber immer noch interessant: Ich denke, Things that will Not Change in Python 3000 ist eine gute Lektüre, mit vielen Links zu den Diskussionen, die den Entscheidungen vorausgegangen sind.
pep Auch 0257 docstring Konvention
Obwohl Python unglaublich intuitiv, nicht seine Philosophie eine Menge Leute verstehen.
Pep 20: Der Zen von Python
- Schön ist besser als hässlich.
- Explizit ist besser als implizit.
- Einfach ist besser als komplex.
- Komplex ist besser als kompliziert.
- Flat ist besser als verschachtelt.
- Sparse ist besser als dicht.
- Lesbarkeit zählt.
- Sonderfälle sind nicht speziell genug, um die Regeln zu brechen.
- Obwohl Praktikabilität Reinheit übertrifft.
- Fehler sollten niemals stillschweigend passieren.
- Sofern nicht explizit zum Schweigen gebracht.
- Angesichts der Mehrdeutigkeit, lehnen Sie die Versuchung zu erraten.
- Es sollte eine - und vorzugsweise nur eine - offensichtliche Möglichkeit geben, es zu tun.
- Obwohl dieser Weg zuerst vielleicht nicht offensichtlich ist, es sei denn, Sie sind Holländer.
- Jetzt ist besser als nie.
- Obwohl nie ist oft besser als rechts jetzt.
- Wenn die Implementierung schwer zu erklären ist, ist es eine schlechte Idee.
- Wenn die Implementierung einfach zu erklären ist, kann es eine gute Idee sein.
- Namespaces sind eine tolle Idee - machen wir mehr davon!
Ich würde auch empfehlen PEPs 8 und 257. Ich weiß, das etwas von der ursprünglichen Frage abweicht, aber ich möchte, dass PyCharm darauf hin, (wahrscheinlich das beste Python IDE um meiner Meinung nach) automatisch überprüft, ob Sie einige der wichtigsten Richtlinien für PEP 8 befolgen, falls jemand interessiert ist ...Hier
ist ein Index von PEP - http://www.python.org/dev/peps/
wenn überhaupt hat man Zweifel über ein Thema, sie in dieser
- 1. Welche Buchstaben- und Zahlenmixups müssen berücksichtigt werden?
- 2. Welche gültigen Attribute müssen als Parameter für element.contains() eingegeben werden?
- 3. Welche Informationen müssen in ein Dialogfeld "Über" eingegeben werden?
- 4. Welche Zeichen müssen in einer HTTP-Abfragezeichenfolge maskiert werden?
- 5. Welche Abhängigkeiten müssen für jasperreport 5.0.1 hinzugefügt werden?
- 6. Welche Teile von .NET erfordern Administratorrechte, die ausgeführt werden müssen?
- 7. Azure Billing API: Welche genauen Angaben müssen eingegeben werden?
- 8. Welche Schritte müssen von libglade in GtkBuilder konvertiert werden? (Python)
- 9. Shibboleth - Wie Attribute gelesen werden?
- 10. Dateiname kann nicht gelesen werden
- 11. OleDbDataReader Wie Nummerntypen gelesen werden?
- 12. Müssen Datenbankverbindungen geschlossen werden?
- 13. Woher wissen Sie, welche OpenGL-Funktionen in jedem Frame aufgerufen werden müssen und welche nur einmal aufgerufen werden können?
- 14. Wie Wert eines Registrierungsschlüssels gelesen werden C#
- 15. Welche Shader müssen ein Eingabe-Layout haben?
- 16. iOS: Welche Auflösung müssen diese Schaltflächenbilder haben?
- 17. Github-Push-Fehler. askpass konnte nicht gelesen werden und konnte nicht gelesen werden Benutzername
- 18. Welche Isolationsstufe wird verwendet, um zu verhindern, dass Daten gelesen werden?
- 19. Shop nicht gelesen oder erkannt zu werden
- 20. JObject wie Werte im Array gelesen werden?
- 21. AWS-Anmeldeinformationen können nicht gelesen werden
- 22. Wohin soll der SQLite-Quellcode gelesen werden?
- 23. WCF MaxReceivedMessageSize nicht von Config gelesen werden
- 24. Kann eine Datei zur Kompilierzeit gelesen werden?
- 25. SAXParseException, Schema-Dokument konnte nicht gelesen werden
- 26. Können PMML-Modelle in R gelesen werden?
- 27. Eigenschaftswert von 'null' kann nicht gelesen werden
- 28. HTML-Inhalt kann nicht gelesen werden
- 29. Eingabestream-Leseproblem, wenn fortlaufende Daten gelesen werden
- 30. Wie können Spring Boot-Metrikwerte gelesen werden?
+1 suchen - großen Frage. –
http://www.python.org/dev/peps/ – u0b34a0f6ae
sollte Gemeinschaft Wiki sein – SilentGhost