Python (Programmiersprache): Unterschied zwischen den Versionen
(Neu: „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 verwend…“) |
|||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Python ist eine Programmiersprache die schon lange mit [[C++]] konkurriert. Sie wurde in [[C (Programmiersprache)]] realisiert. Im Gegensatz zu | + | '''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 [[Schweizerdeutsch|verwendbare Sprache]], da sie ohne [[Prozessor|Präprozessor]] auskommt. Die [[Philodoofie|Entwurfsphilosphie]] ist es, möglichst [[Artikel|unleserlichen Quellcode]] erstellen zu können. Python wurde von [[Monty Python]] entwickelt und nach der [[Penis|Schlange]] benannt. |
− | Python enthält so viele eingebaute | + | Python enthält so viele eingebaute [[Funktion]]en, dass es 3 Jahre dauert ein einzelnes [[Programm]] das in Python geschrieben wurde zu starten. |
Python ist [[Open Source]] und hat schon Level 13. | Python ist [[Open Source]] und hat schon Level 13. | ||
== Ziele == | == Ziele == | ||
− | Python wurde entworfen, um den Funktionsumfang | + | Python wurde entworfen, um den Funktionsumfang [[modern]]er Programmiersprachen mit der [[Kauderwelsch|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. | + | 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 [[Geist|verschwunden sein]] können. |
− | Python hat außerdem | + | Python hat außerdem [[Typ]]en, im [[Zweihorn|Gegensatz]] zu Brainfuck, aber keine Typüberprüfung. Damit ist es leichter [[Windows|Fehler]] zu erzeugen als im [[Konkurrenz]]produkt C++. |
== Datentypen == | == Datentypen == | ||
− | Python hat einige | + | Python hat einige [[Daten]]typen: Integer, Booleans(billigere Integer) und unbenötigte Datentypen(da es sowieso nur um [[Turing-Maschine|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. | + | In Python ist alles ein "[[Frau|Objekt]]". Das heißt, man steht jedes mal vor der [[Was ist das?|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 [[Masturbation|schreibt sich die Funktion selbst]]. |
=== Integer === | === 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 | + | Oder auch "int", da alle Python-nutzenden [[Programmierer]] stinkend faul sind, und sich nicht die [[Kuh|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 [[Kamel|CamelCase]] under_score verwenden soll. Der Integer in Python ist eine [[HIV|positive Zahl]] von 0 bis einschließlich 2, wodurch eine effiziente [[Speicher]]ung in [[Computer]]systemen mit [[Bit]]s die 3 Zustände besitzen. Dieses Verhalten lässt sich in normalen binären [[Maschine]]n zum [[Glück]] emulieren, womit zumindest 1/4 der möglichen [[Sonic|Geschwindigkeit]] erreicht werden kann. |
=== Booleans === | === Booleans === | ||
− | Oder auch "bool", besitzt nur einen verwendbaren Zustand: "True"(oder zu deutsch: "wahr") | + | Oder auch "bool", besitzt nur einen verwendbaren [[blau|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 | + | Booleans besitzen allerdings noch einen anderen Zustand, "False". Aber dieser ist unverwendbar, da er dafür sorgt dass [[Frage|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): | Beispiel(in Python2): | ||
Zeile 25: | Zeile 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Dieses Beispiel wird gegen die Erwartung nie "Hello World" ausgeben, was auf den Fehler im "False"-Wert zurückzuführen ist. | + | Dieses [[Beispiel]] wird gegen die Erwartung nie "[[Hallo Welt!|Hello World]]" ausgeben, was auf den [[Error 404|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: | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | False=True | ||
+ | if False: | ||
+ | print "Hello World" | ||
+ | </syntaxhighlight> | ||
=== Andere Datentypen === | === Andere Datentypen === | ||
− | {| | + | {| class="wikitable" |
− | |||
|- | |- | ||
− | + | ! Typ !! Bedeutung | |
− | |||
|- | |- | ||
− | | | + | | Float(float) || Fließkommazahl, veraltet |
− | | | ||
|- | |- | ||
− | | | + | | None(None) || ein konstanter Wert der nichts darstellen soll. Damit unbrauchbar. veraltet |
− | | | ||
|- | |- | ||
− | | | + | | String(str) || eine [[Kette|Zeichenkette]], aber echte Programmierer [[Zwang|arbeiten NUR]] mit Integern. veraltet. |
− | | | ||
|- | |- | ||
− | | | + | | List/Tuple(list/tuple) || Ein [[Tulpe|Tuple]] ist eine nicht veränderbare [[Liste ausgewählter Pornofilme|Liste]], und beide sind unbrauchbar. veraltet |
− | | | ||
|- | |- | ||
− | | | + | | Dictionary(dict) || Ein [[Wörterbuch]] zum Nachschlagen von englischen [[Vokabel]]n. 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 [[Wert]]en. Warum auch immer. [[alt|veraltet]] |
− | | | ||
|- | |- | ||
+ | | alles andere || [[Deine Mutter|veraltet]] | ||
|} | |} | ||
== Erweiterungen == | == Erweiterungen == | ||
− | Es gibt diverse Erweiterungen zum | + | Es gibt diverse [[Modding|Erweiterungen]] zum [[normal]]en 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 == | == Versionen == | ||
− | Python gibt es in 3 | + | Python gibt es in 3 [[Version]]en: Python1, Python2 und Python3 |
=== Python1 === | === Python1 === | ||
− | Sehr alt, aber noch am lesbarsten. Wird verwendet um Toaster mit WiFi- | + | [[Oma|Sehr alt]], aber noch am lesbarsten. Wird verwendet um [[Toaster]] mit [[WLAN|WiFi]]-[[Antenne]]n zu programmieren. |
− | Zum Ende der Weiterentwicklung von Python1 hatte Python im | + | Zum [[Weltuntergang|Ende]] der [[Pokemon|Weiterentwicklung]] von Python1 hatte Python im [[Spiel]] Open Source das Level 4. |
Beispiel für Hello World: | Beispiel für Hello World: | ||
Zeile 74: | Zeile 74: | ||
=== Python2 === | === Python2 === | ||
Die noch am meisten verwendete Version. Sie ist vollständig zu Python1 kompatibel. | 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. | + | Sie besitzt aber weniger verwendbare Grundtypen, so wurde beispielsweise der [[Bluescreen|Fehler]] bei "False" eingebaut, um die Schwierigkeit zu erhöhen. |
− | Zu Beginn der Entwicklung von Python3 hatte Pythom das Level 9. | + | Zu Beginn der [[Entwicklung]] von Python3 hatte Pythom das Level 9. |
Beispiel für Hello World: | Beispiel für Hello World: | ||
Zeile 83: | Zeile 83: | ||
=== Python3 === | === 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. | + | Dies ist die derzeitige Python Version. Sie hat einiges verändert, so wurde z.B. die [[Drucker|Printanweisung]] zu einer Funktion. Damit funktioniert kein normales Python2- oder Python1-Programm in Python3. |
− | Zurzeit hat Python das Level 13. | + | Zurzeit hat Python das [[Level]] 13. |
Beispiel für Hello World: | Beispiel für Hello World: | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
print("Hello World") # TODO: Integer statt strings verwenden | print("Hello World") # TODO: Integer statt strings verwenden | ||
− | # Anmerkung: Der Code ist 1 Zeichen länger wenn man die | + | # 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 |
</syntaxhighlight> | </syntaxhighlight> | ||
=== Python4 === | === 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 | + | 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. | + | Python4 wird als die [[Endboss|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: | Beispiel für Hello World: | ||
Zeile 102: | Zeile 102: | ||
== Verwendung == | == Verwendung == | ||
− | + | [[Nirgends]], außer unter [[Linux]]. | |
== Alternativen == | == Alternativen == | ||
− | [[Brainfuck]] | + | * [[Brainfuck]] |
+ | * Konkurrenz [[C++]] | ||
+ | * [[Turing-Maschine]] | ||
+ | <br /> | ||
+ | {{Programmiersprachen}} | ||
+ | |||
+ | [[Kategorie:Computer]] | ||
+ | [[Kategorie:Dinge, die keine Sau versteht]] | ||
+ | [[Kategorie:Software]] | ||
+ | [[Kategorie:Sprachwissenschaften]] |
Aktuelle Version vom 3. Juni 2017, 01:11 Uhr
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.
Inhaltsverzeichnis
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
Alternativen
- Brainfuck
- Konkurrenz C++
- Turing-Maschine
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 {
}