Python (Programmiersprache): Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Sn (Diskussion | Beiträge) K (→Weblinks: Weiterbildung nun bei Ivo gehostet) |
||
Zeile 92: | Zeile 92: | ||
==Weblinks== | ==Weblinks== | ||
*[https://weiterbildung | *[https://weiterbildung.stichel.uk/chapter6/ "Programmierung in Python" in der Lehry-Weiterbildung Informatik {{Flagge|DE}}] | ||
* {{W3Schools|python|Python-Tutorial}} | * {{W3Schools|python|Python-Tutorial}} | ||
*[https://docs.python.org Offizielle Python-Dokumentation {{Flagge|GBFRESBRJPCNKRTR}}] | *[https://docs.python.org Offizielle Python-Dokumentation {{Flagge|GBFRESBRJPCNKRTR}}] |
Aktuelle Version vom 8. Oktober 2024, 20:52 Uhr
Python, benannt nach der britischen Komiker-Truppe Monty Python[1], wurde Ende der 1980er Jahre von Guido van Rossum als Nachfolger der ABC-Sprache entwickelt. Seitdem hat sie sich zu einer der beliebtesten und am weitesten verbreiteten Programmiersprachen entwickelt. Python zeichnet sich durch eine sehr einfache Syntax und eine hohe Lesbarkeit aus. Daraus ergibt sich eine niedrige Lernschwelle, weswegen Python insbesondere bei Hobbyprogrammierys sehr beliebt ist.
The Zen of Python
Die Philosophie, die Python zugrunde liegt, wird halb ironisch im Zen of Python[2] beschrieben, das von Tim Peters verfasst wurde und mit dem Befehl import this
von jedem Python-Interpreter ausgegeben wird:
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[3]. 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!
Der Zen of Python umfasst grobe Programmier-Richtlinien wie Schön[er Code] ist besser als hässlich[er Code]
, Lesbarkeit zählt
oder Einfach[er Code] ist besser als komplex[er Code]
.
Die grundlegende Philosophie dahinter ist, dass Programme lesbar und einfach sein sollten, insbesondere einfach zu erklären.
Die folgenden Programmabschnitte prüfen beide, ob eine Zahl x
gleich 0 ist:
not x
x == 0
Beide tun dasselbe, aber der untere Abschnitt ist beim schnellen Darüberlesen deutlich leichter verständlich.
Einfachheit und Lesbarkeit
Zur Einfachheit gehört, dass Python wenig Boilerplate-Code voraussetzt. Ein Programm, das den Text "Hello World!"
ausgibt, sieht in Python einfach so aus:
print("Hello world")
In anderen Sprachen wie C oder Java wäre dazu viel mehr Aufwand nötig.
Bei der Definition von Variablen müssen in Python keine Datentypen oder Informationen über die Sichtbarkeit angegeben werden, ebensowenig bei Parametern und Rückgabewerten von Funktionen.
Auch beim Kontrollfluss wird auf größtmögliche Lesbarkeit gesetzt. Jede Anweisung muss in einer eigenen Zeile stehen, am Ende von Anweisungen müssen keine Satzzeichen stehen. Bei Kontrollstrukturen wie bedingten Anweisungen oder bedingten Wiederholungen wird ausschließlich über Einrückungen geregelt, welche Zeilen von der Bedingung abhängig sind, nicht über Klammern.
if x > 0:
print("x ist positiv")
else:
print("x ist nicht positiv")
while x > 0:
x = x - 1
Ohne korrekte Einrückungen kann das Programm nicht ausgeführt werden. So "erzwingt" Python vom Programmierer eine gewisse Lesbarkeit.
Zur Lesbarkeit trägt auch bei, dass Python stärker auf Schlüsselwörter setzt, wo in anderen Sprachen Symbole verwendet werden. Beispiele sind die logischen Operatoren and
, or
und not
.
Datentypen
Typ | Erklärung | Beispiele |
---|---|---|
int
|
für ganze Zahlen (engl. integer numbers) | 0 , 42 , 3190701205
|
float
|
für Dezimalzahlen (“Kommazahlen”, engl. floating-point numbers) | 0.5 , 42.0 , 3.141592
|
str
|
für beliebige Zeichenketten (engl. strings) | 'Hello World' , '42' , 'https://wiki.kah.gs'
|
bool
|
für Wahrheitswerte (engl. boolean)[P 1] | True , False
|
- ↑ Logische Wahrheitswerte werden nach George Boole, einem Pionier der mathematischen Logik, auch als "boolesche Werte" bezeichnet (im Englischen "boolean").
Vielseitigkeit
Mit Python kann man nahezu alles machen:
- Webentwicklung: Mit Frameworks wie Django oder Flask können robuste Webapplikationen erstellt werden.
- Datenanalyse: Bibliotheken wie Pandas und NumPy bieten Tools zur Datenmanipulation und -analyse.
- Maschinelles Lernen: Mit TensorFlow, Keras und scikit-learn kann man in die Welt des maschinellen Lernens eintauchen.
- Automation: Mit Python lassen sich repetitive Aufgaben automatisieren, beispielsweise Dateien zu verschieben oder Webinhalte zu scrapen.
- Spieleentwicklung: Mit Pygame lassen sich einfache Videospiele entwickeln.
- Embedded Systems: Mit MicroPython kann man Python sogar auf Mikrocontrollern laufen lassen.
Dies wird auch durch das umfangreiche Bibliothekssystem von Python begünstigt: für sehr viele Anwendungen stehen Bibliotheken bereit, die mit dem Schlüsselwort import
in ein Python-Programm geladen werden können.
Beispiel: Ein einfacher Webserver
Mit Python kann man mit nur wenigen Zeilen Code einen einfachen Webserver erstellen:
from http.server import SimpleHTTPRequestHandler, HTTPServer
PORT = 8080
with HTTPServer(("localhost", PORT), SimpleHTTPRequestHandler) as server:
print(f"Server läuft auf Port {PORT}")
server.serve_forever()
Dieser Code erstellt einen einfachen Webserver, der den Inhalt des aktuellen Verzeichnisses anzeigt und unter der Adresse http://localhost:8080 geöffnet werden kann.
Quellen
- ↑ Python FAQ: "Why is it called Python?🇬🇧
- ↑ The Zen of Python 🇬🇧
- ↑ Dies ist eine Anspielung auf Guido van Rossum, den niederländischen Entwickler von Python