Python (Programmiersprache)

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche

Python ist eine Programmiersprache die schon lange mit C++ konkurriert. Sie wurde in C (Programmiersprache) realisiert. Im Gegensatz zu C++ ist Python nämlich eine verwendbare Sprache, da sie ohne Präprozessor auskommt. Die Entwurfsphilosphie ist es, möglichst unleserlichen Quellcode erstellen zu können. Python wurde von Monty Python entwickelt und nach der Schlange benannt. Python enthält so viele eingebaute Funktionen, dass es 3 Jahre dauert ein einzelnes Programm das in Python geschrieben wurde zu starten. Python ist Open Source und hat schon Level 13.

Ziele

Python wurde entworfen, um den Funktionsumfang moderner Programmiersprachen mit der Unleserlichkeit von Brainfuck zu verbinden. Allerdings ist Python damit nicht ganz erfolgreich, da der Funktionsumfang von Jahr zu Jahr kleiner wird. Daher sollte man keine Module einbinden, da diese schon im nächsten Monat einfach verschwunden sein können. Python hat außerdem Typen, im Gegensatz zu Brainfuck, aber keine Typüberprüfung. Damit ist es leichter Fehler zu erzeugen als im Konkurrenzprodukt C++.

Datentypen

Python hat einige Datentypen: Integer, Booleans(billigere Integer) und unbenötigte Datentypen(da es sowieso nur um Turingvollständigkeit geht). In Python ist alles ein "Objekt". Das heißt, man steht jedes mal vor der Frage, ob die Funktion die man verwenden will zur Klasse gehört, oder zu einem Modul, oder zum __builtin__-Modul. Meistens spart man sich dann allerdings die Recherche, und schreibt sich die Funktion selbst.

Integer

Oder auch "int", da alle Python-nutzenden Programmierer stinkend faul sind, und sich nicht die Mühe machen wollen das Wort Integer auszuschreiben. Außerdem hält sich der Name des Typs nicht an die Python-Richtlinien, denn er ist volkommen kleingeschrieben. Dies ist wohl darauf zurückzuführen, dass jeder die Python-Richtlinien bescheurt findet da man in Funktionen statt CamelCase under_score verwenden soll. Der Integer in Python ist eine positive Zahl von 0 bis einschließlich 2, wodurch eine effiziente Speicherung in Computersystemen mit Bits die 3 Zustände besitzen. Dieses Verhalten lässt sich in normalen binären Maschinen zum Glück emulieren, womit zumindest 1/4 der möglichen Geschwindigkeit erreicht werden kann.

Booleans

Oder auch "bool", besitzt nur einen verwendbaren Zustand: "True"(oder zu deutsch: "wahr") Booleans besitzen allerdings noch einen anderen Zustand, "False". Aber dieser ist unverwendbar, da er dafür sorgt dass Abfragen in Python übersprungen werden können. Man beachte, dass "True" und "False" keine Klassen sind, aber trotzdem großgeschrieben werden. Dies ist wahrscheinlich auf den schlechten Humor von Monty Python zurückzuführen.

Beispiel(in Python2):

if False:
    print "Hello World"

Dieses Beispiel wird gegen die Erwartung nie "Hello World" ausgeben, was auf den Fehler im "False"-Wert zurückzuführen ist.

Da das Problem (Stand: Juni 2017) in der Sprache noch nicht behoben ist, wird meist ein Workaround verwendet:

False=True
if False:
    print "Hello World"

Andere Datentypen

Typ Bedeutung
Float(float) Fließkommazahl, veraltet
None(None) ein konstanter Wert der nichts darstellen soll. Damit unbrauchbar. veraltet
String(str) eine Zeichenkette, aber echte Programmierer arbeiten NUR mit Integern. veraltet.
List/Tuple(list/tuple) Ein Tuple ist eine nicht veränderbare Liste, und beide sind unbrauchbar. veraltet
Dictionary(dict) Ein Wörterbuch zum Nachschlagen von englischen Vokabeln. Die Ausgangssprache ist Brainfuck und nicht einstellbar. nicht veraltet
Complex(cmplx oder so) Eine Zahl, die so komplex ist, dass man sie nicht verstehen kann. nicht nicht veraltet
long Ein Integer mit mehr Werten. Warum auch immer. veraltet
alles andere veraltet

Erweiterungen

Es gibt diverse Erweiterungen zum normalen CPython(Abgeleitet von C++ und Python, um die Konkurrenz zu verdeutlichen), wie z.B. CorePy für Programmierer die noch fauler sind. Denn damit lässt sich lesbarerer(nicht unbedingt lesbar!) Assembler-Code erzeugen.

Versionen

Python gibt es in 3 Versionen: Python1, Python2 und Python3

Python1

Sehr alt, aber noch am lesbarsten. Wird verwendet um Toaster mit WiFi-Antennen zu programmieren. Zum Ende der Weiterentwicklung von Python1 hatte Python im Spiel Open Source das Level 4.

Beispiel für Hello World:

print "Hello World"  # TODO: Integer statt strings verwenden

Python2

Die noch am meisten verwendete Version. Sie ist vollständig zu Python1 kompatibel. Sie besitzt aber weniger verwendbare Grundtypen, so wurde beispielsweise der Fehler bei "False" eingebaut, um die Schwierigkeit zu erhöhen. Zu Beginn der Entwicklung von Python3 hatte Pythom das Level 9.

Beispiel für Hello World:

print "Hello World"  # TODO: Integer statt strings verwenden

Python3

Dies ist die derzeitige Python Version. Sie hat einiges verändert, so wurde z.B. die Printanweisung zu einer Funktion. Damit funktioniert kein normales Python2- oder Python1-Programm in Python3. Zurzeit hat Python das Level 13.

Beispiel für Hello World:

print("Hello World")  # TODO: Integer statt strings verwenden
# Anmerkung: Der Code ist 1 [[Zeichen]] länger wenn man die [[Kommentar]]e nicht beachtet, und 1 Zeile länger wenn man die Kommentare beachtet

Python4

Es ist geplant, in Python4 den Syntax auf "[", "]", "<", ">", "+", "-", ",", ".", "import", "def", "class" und "()" zu beschränken. Damit würde Python noch näher zu seinem Vorbild Brainfuck kommen, und trotzdem objektorientiert und modularisierbar bleiben. Python4 wird als die finale Entwicklungsstufe gesehen, da 2 die erste Primzahl ist, und 4 2 mal 2, bzw. 2 hoch 2. Damit ist 4 die erste Primzahl hoch die erste Primzahl.

Beispiel für Hello World:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.+++.

Verwendung

Nirgends, außer unter Linux.

Alternativen


if (codingLanguageList.Contains(this.title)) {

wikiPage[] articleList = { A, Assembler, BASIC, Brainfuck, C, C++, C-Sharp, COBOL, D, Delphi, Eick#, Eiffel, Gehirnassembler, Haskell, HTML, Java, JavaScript, Logo, NXC, Pascal, Perl, PHP, Python, Robot Karol, SQL, Tcl, UML, Visual Basic, ZLORFIK };

} else if(article.Exists()) {

wikiPage[] articleList = { Programmer-Lang, Was deine Programmiersprache über dich verrät, Rekursive Programmierung};

} else {

EditTemplateCodingLanguage();

}


Linktipps: Faditiva und 3DPresso