Long time Pythoneer Tim Peters succinctly channels the BDFL's guiding principles for Python's design into 20 aphorisms, only 19 of which have been written down.
Tim Peters, ein langjähriger Pythoneer, hat 20 Maximen in 19 Sätzen der BDFL-Grundprinzipien für das Python-Design kurz zusammengefasst.
The Zen of Python
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
"Schön" statt "hässlich" "Explizit" statt "implizit" "Einfach" statt "komplex", "komplex" ist besser als "schwer zu verstehen" "Flach" statt "verschachtelt" "Rasseln" statt "dicht" Lesbarkeit ist wichtig Es gibt keinen Sonderfall, um die Regeln zu brechen. Es ist wahr, dass "Praktikabilität" der "Reinheit" (Konsistenz) überlegen ist. Wenn ein Fehler auftritt, Sie ihn aber nicht kennen, ist es eine andere Geschichte, wenn ausdrücklich angegeben wird, dass "Sie den Fehler nicht melden müssen". Wenn Sie auf eine "mehrdeutige Sache" stoßen, verlieren Sie nicht die Versuchung, eine "Vermutung" anzustellen. Es sollte nur einen direkten Weg geben, etwas zu tun, obwohl dies auf den ersten Blick verwirrend sein kann (wenn Sie ein Holländer sind, ist das eine andere Geschichte). "Jetzt tun" statt "Nicht tun" "Nicht tun" ist oft besser als "Jetzt tun" Wenn die Erklärung schwierig ist, ist die Implementierung nicht gut. Wenn die Erklärung einfach ist, kann die Implementierung gut sein. Der Namensraum ist eine großartige Idee. Lass uns das mehr nutzen!
Schönheit als Hässlichkeit Explizit statt implizit Einfacher als kompliziert Es ist jedoch komplizierter als kompliziert Flacher als Nest Spärlicher als dicht Mehr lesbar Nichts Besonderes als die Regeln zu brechen Praktisch statt echt Dulde den Fehler nicht Es ist anders, wenn klar angegeben wird, dass es toleriert wird Spekulieren Sie nicht über Mehrdeutigkeiten Es sollte nur einen freien Weg geben Wenn Sie kein Holländer sind, ist dies zunächst möglicherweise nicht offensichtlich ... Mach es jetzt, anstatt es nicht zu tun Ich mache es nicht, aber es ist oft besser als jetzt ... Wenn es schwer zu erklären ist, ist die Idee nicht gut Wenn es leicht zu erklären ist, ist die Idee gut Namensraum ist eine großartige Idee, lasst uns mehr verwenden!
Schön ist besser als hässlich. Es ist besser zu klären als zu implizieren. Es ist besser, einfach als kompliziert zu sein. Trotzdem ist es besser, kompliziert als kompliziert zu sein. Das Nest sollte flach sein. Es ist besser, eine Lücke zu haben, als überfüllt zu sein. Leicht zu lesen ist gut. Besonderes zu sein ist kein Grund, gegen die Regeln zu verstoßen. Wenn es jedoch um Praktikabilität geht, kann Reinheit verloren gehen. Verstecke den Fehler nicht, ignoriere ihn nicht. Wenn es jedoch absichtlich versteckt ist, verpassen Sie es nicht. Wenn Sie auf etwas Mehrdeutiges stoßen, raten Sie nicht, was es bedeutet. Es muss einen guten Weg geben. Es gibt nur einen Weg, der für alle offensichtlich ist. Die Methode kann auf den ersten Blick schwer zu verstehen sein. Es kann nur für Niederländer leicht zu verstehen sein. Mach es jetzt, anstatt es nicht die ganze Zeit zu machen. Aber es ist oft besser, es jetzt nicht zu tun, als es "sofort" zu tun. Wenn es schwierig ist zu erklären, was der Code ist, ist es eine schlechte Implementierung. Wenn Sie den Inhalt des Codes leicht erklären können, ist dies wahrscheinlich eine gute Implementierung. Namespaces sind eine großartige Idee und sollten aktiv genutzt werden.
https://www.lifewithpython.com/2013/01/pep-20-the-zen-of-python.html https://ct-innovation01.xyz/DL-Freetime/pep-20/ https://www.python.org/dev/peps/pep-0020/ https://qiita.com/IshitaTakeshi/items/e4145921c8dbf7ba57ef
Recommended Posts