Warum ich mich für Python entschieden habe

Hallo. Dieses Mal habe ich die Programmiersprache "Python" gewählt, die ich gerade lerne, und während ich anderes peripheres Material berühre, werde ich es anstelle eines Memos für mich selbst schreiben.

Was ist Python?

Erstens ist "Python" eine universelle Skriptprogrammiersprache, die in verschiedenen Bereichen verwendet wird. Zunächst werden Programmiersprachen in Skriptsprachen unterteilt, die sofort ausgeführt werden können, indem sie in einen Texteditor geschrieben werden, und in Compilersprachen, die nur durch Konvertieren in Maschinensprachen aktiviert werden. (Details weggelassen, weil es schwierig ist) Ich suchte nach einer Skriptsprache, die relativ einfach zu erlernen war, und einer universellen Sprache, die im Web (Server) verwendet werden konnte. Als wichtige Sprache gilt "Perl", das seit langem für Bulletin Boards und Blogs verwendet wird, "PHP", das durch die Integration in HTML eine beachtliche Geschwindigkeit im Web aufweist, und ein vollständig objektorientiertes und leicht verständliches Japanisch "Ruby", das in Japan sehr beliebt ist, und trauriges "Python", das in Japan nicht sehr beliebt ist, obwohl es in der Welt ziemlich bedeutend ist (lacht) Es scheint, dass Python nicht beliebt war, weil Ruby in Japan beliebt ist. Dank dessen ist es schwierig, Materialien und Fragen und Antworten zu finden.

Warum hast du dich für Python entschieden?

Perl, Ruby, Python Die drei werden oft verglichen, und ein Programmierer vergleicht sie mit den drei großen Tugenden eines Programmierers.

Aus "Python als Fremdsprache" von Perl-Hacker Kokai Amane

"Faulheit" bedeutet, dass Sie ein Programm in 10 Schritten schreiben können, wenn Sie dasselbe 100 Mal wiederholen. Ich denke, Perl ist der Stärkste auf diesem Gebiet.

Als nächstes kommt "Ungeduld". Dies bedeutet, dass der Computer "schnell" wird. Wie gesagt: "Ich habe eine Hochgeschwindigkeits-CPU, aber ich mache nichts." Ich denke, dass Ruby am besten zu der Bereitschaft passt, Computer zu verwenden. In Ruby gibt es beispielsweise einen Stil zum Erweitern von Zeichenketten und numerischen Werten. Sie können es tun, ohne so viel zu warten. Infolgedessen kam Ruby on Rails heraus und Ruby wurde dadurch gebrochen.

"Hybris" bedeutet "übermäßiges Selbstwertgefühl, das Menschen bestraft" und "das Temperament, Programme zu schreiben und zu pflegen, die für Menschen nicht peinlich sind". Das ist immer noch Python. "

Er sagte, Python sei eine arrogante Sprache. Was bedeutet das? Pythons Richtlinie ist "ein Programm, das den Menschen nicht peinlich ist", und Python ändert die Codelänge je nach Programmierkenntnis im Grunde genommen nicht (in unterschiedlichem Maße). Es fühlte sich an, als hätte ich ein bisschen Biss, und bei Python ging es mehr um Lesbarkeit als um Codelänge. Es gibt reguläre Ausdrücke, aber es ist besser, sie leicht verständlich und redundant zu schreiben, wenn die Sichtbarkeit beeinträchtigt wird. Ich denke, es gibt auch solche Eigenschaften. ** Python ist Lesbarkeit - eine Sprache, die "Lesbarkeit" betont. ** ** **

Eine der lesbaren Funktionen ist die einfach zu lesende Ausdruckstechnik durch Verringern der Einrückung. In Python müssen Sie für if.def (Funktion), Klasse (Objekt) usw. Folgendes hinzufügen: am Ende der Zeile und einen 8-Byte-Einzug aus der nächsten Zeile öffnen. Da keine Klammern verwendet werden, sind weniger Klammern als in anderen Sprachen vorhanden, und durch Hinzufügen von Einrückungen ist die Lesbarkeit eindeutig. (Aber ich benutze Klammern in Funktionen, Listen, Wörterbüchern usw.)

Die Lesbarkeit führt direkt zur Wartbarkeit. Es ist wichtig, dass die Wartbarkeit den Code leicht findet und neu schreibt, auch wenn Sie oder andere ihn lange nach dem Erstellen sehen. Python ist leicht zu lesen, unterstützt die Objektorientierung usw. und Kommentare werden dringend empfohlen, sodass es relativ wartbar ist.

Außerdem können Sie in Python Ihre eigenen Ideen immer mit einem einzigen Befehl anzeigen. ("Zen of Python") "Zen" ist eine kurze Zusammenfassung der Einstellungen, die Python-Programmierer im japanischen Zen haben sollten.

$ python

>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Schön ist besser als hässlich.

Explicit is better than implicit.
Es ist besser zu klären als zu implizieren.

Simple is better than complex.
Es ist besser, einfach als kompliziert zu sein.

Complex is better than complicated.
Trotzdem ist es besser, kompliziert als kompliziert zu sein.

Flat is better than nested.
Das Nest sollte flach sein.

Sparse is better than dense.
Es ist besser, eine Lücke zu haben, als überfüllt zu sein.

Readability counts.
Leicht zu lesen ist gut.

Special cases aren't special enough to break the rules.
Besonderes zu sein ist kein Grund, gegen die Regeln zu verstoßen.

Although practicality beats purity.
Bei der Suche nach Praktikabilität kann jedoch die Natürlichkeit verloren gehen.

Errors should never pass silently.
Verstecke den Fehler nicht, ignoriere ihn nicht.

Unless explicitly silenced.
Wenn es jedoch absichtlich versteckt ist, verpassen Sie es nicht.

In the face of ambiguity, refuse the temptation to guess.
Wenn Sie auf etwas Mehrdeutiges stoßen, raten Sie nicht, was es bedeutet.

There should be one -- and preferably only one --obvious way to do it.
Es muss nur einen klugen Weg geben, dies zu tun.

Although that way may not be obvious at first unless you're Dutch.
Die Methode kann auf den ersten Blick schwer zu verstehen sein. Es kann nur für Niederländer leicht zu verstehen sein.

Now is better than never.
Mach es jetzt, anstatt es nicht die ganze Zeit zu machen.

Although never is often better than *right* now.
Aber jetzt"demnächst"Es ist oft besser, es nicht zu tun, als es zu tun.

If the implementation is hard to explain, it's a bad idea.
Wenn es schwierig ist zu erklären, was der Code ist, ist es eine schlechte Implementierung.

If the implementation is easy to explain, it may be a good idea.
Wenn Sie den Inhalt des Codes leicht erklären können, ist dies wahrscheinlich eine gute Implementierung.

Namespaces are one honking great idea -- let's do more of those!
Namespaces sind eine großartige Idee und sollten aktiv genutzt werden.

Ich denke, diese Konvention sollte von allen Programmierern befolgt werden, nicht nur von Python-Programmierern.

Natürlich haben Perl, Ruby und PHP ihre eigenen guten Punkte, aber ich denke, Python ist eine Sprache, die als Sprache zum ersten Mal relativ einfach zu lernen ist und die die implizite Disziplin und den gesunden Menschenverstand als Programmierer verstehen kann. Geschwindigkeit und Kürze des Codes sind wichtig, aber ich denke, Lesbarkeit ist wichtiger als das. Ich lerne noch, aber es ist sehr einfach und macht Spaß zu schreiben. Es ist jedoch schade, dass es im Vergleich zu anderen nur wenige japanische Materialien und Literatur gibt. Ich denke, es wird auch in Japan wachsen.

Recommended Posts

Warum ich mich für Python entschieden habe
Warum kann ich matplotlib nicht mit Python installieren? !!
Ich habe Python> autopep8 ausprobiert
Python neu lernen (Algorithmus I)
Ich habe Python> Decorator ausprobiert
Ich habe Python more-itertools 2.5 → 2.6 verglichen
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe Python auf Japanisch geschrieben
[Python] Warum pserve nicht funktioniert
Curl -I Python One Liner
Ich habe einen Blackjack mit Python gemacht!
Ich habe Java und Python verglichen!
5 Gründe, warum ich zu Python gekommen bin
Ich habe die C-Erweiterung von Python ausprobiert
Ich habe einen Python-Text gemacht
Ich habe Python unter Windows ausgeführt
Ich habe gRPC mit Python ausprobiert
Ich verstehe Python auf Japanisch!
Ich habe mit Python einen Blackjack gemacht.
Was ich in Python gelernt habe
Ich habe die grundlegende Python-Grammatik gelernt
Ich habe Wordcloud mit Python gemacht.
Ich habe die Python-Quelle heruntergeladen
Warum kann ich das Modul durch Importieren mit Python verwenden?
Ich habe einen Line-Bot mit Python gemacht!
Ich habe versucht, Python zu berühren (Installation)
Python
pyenv-vertualenv installiert die Python3-Serie nicht gut
Ich habe die Konstruktion der Mac Python-Umgebung überprüft
Ich habe versucht, WebScraping mit Python.
Ich kann mich nicht an reguläre Python-Ausdrücke erinnern
Ich habe meine eigene Python-Bibliothek erstellt
[Python] Ich habe versucht, marginalisiertes Gibbs-Sampling zu implementieren
Ich habe mit Python eine Lotterie gemacht.
Ich habe eine SMS mit Python gesendet
Ich habe Fizz Buzz in Python geschrieben
Ich habe Progetes Python-Lernkurs I besucht
Ich habe mir genauer angesehen, warum Python selbst benötigt wird
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe es mit Grumpy versucht (Python ausführen).
Ich mochte den Tweet mit Python. ..
Ich habe versucht, den Prozess mit Python zu studieren
Scikit-learn kann nicht in Python installiert werden
Ich habe mit PyQt5 und Python3 gespielt
Ich habe die Warteschlange in Python geschrieben
Ich habe versucht, die "Lebenstein-Distanz" mit Python zu berechnen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe Line Benachrichtigung in Python versucht
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe den Stack in Python geschrieben
Ich habe Python 2.7 in Sakura VPS 1 GB installiert.
Ich habe versucht, die Behandlung von Python-Ausnahmen zusammenzufassen
Ich habe versucht, PLSA in Python zu implementieren
Ich habe Python3 Standard Argparse und Python-Fire verglichen
Wrangle x Python Buch Ich habe es versucht [2]
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (4)
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich habe mit Python einen Zeichenzähler erstellt