Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Die objektorientierte Sprache Python eignet sich hervorragend zum Schreiben von Skripten, Programmen und Prototypen. Sie ist frei verfügbar, leicht zu lernen und zwischen allen wichtigen Plattformen portabel, einschließlich Linux, Unix, Windows und Mac OS. Damit Sie im Programmieralltag immer den Überblick behalten, sind die verschiedenen Sprachmerkmale und Elemente in Python - kurz & gut übersichtlich zusammengestellt. Für Auflage 5 wurde die Referenz komplett überarbeitet, erweitert und auf den neuesten Stand gebracht, so dass sie die beiden aktuellen Versionen 2.7 und 3.4 berücksichtigt. Python - kurz & gut behandelt unter anderem: Eingebaute Typen wie Zahlen, Listen, Dictionarys u.v.a.; Anweisungen und Syntax für Entwicklung und Ausführung von Objekten; Die objektorientierten Entwicklungstools in Python; Eingebaute Funktionen, Ausnahmen und Attribute; pezielle Methoden zur Operatorenüberladung; Weithin benutzte Standardbibliotheksmodule und Erweiterungen; Kommandozeilenoptionen und Entwicklungswerkzeuge. Mark Lutz stieg 1992 in die Python-Szene ein und ist seitdem als aktiver Pythonista bekannt. Er gibt Kurse, hat zahlreiche Bücher geschrieben und mehrere Python-Systeme programmiert.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 330
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Python ist eine universelle Programmiersprache, die mehrere Programmierparadigmen unterstützt: sowohl objektorientierte, funktionale als auch prozedurale Codestrukturen. Python wird sowohl für eigenständige Programme als auch für Skripten in den verschiedensten Anwendungsbereichen eingesetzt und gilt generell als eine der am weitesten verbreiteten Programmiersprachen der Welt.
Zu den wichtigsten Merkmalen von Python gehören der Fokus auf lesbaren Code und die Verwendung von Bibliotheken sowie ein Design, das die Produktivität der Entwickler, die Qualität der Software, die Portierbarkeit von Programmen und die Integration von Komponenten optimiert. Python-Programme laufen auf den meisten üblichen Plattformen, darunter Unix und Linux, Windows und Macintosh, Java und .NET, Android und iOS und andere.
Diese Taschenreferenz fasst Python-Typen und -Anweisungen, spezielle Methodennamen, integrierte Funktionen und Ausnahmen, häufig verwendete Module der Standardbibliothek und andere wichtige Python-Tools zusammen. Sie ist als kompakte Referenz für Entwickler und als Begleiter zu anderen Büchern gedacht, die Tutorien, Code, Beispiele und anderes Lehrmaterial liefern.
Die vorliegende fünfte Auflage behandelt gleichermaßen Python 3.X und 2.X. Sie befasst sich in erster Linie mit Python 3.X, dokumentiert aber auch die Unterschiede zu Version 2.X. Diese Auflage wurde auf den Stand der aktuellen Python-Versionen 3.4 und 2.7 aktualisiert. Der Inhalt dieses Buchs gilt aber größtenteils auch für ältere Versionen der Python-Zweige 3.X und 2.X.
Diese Ausgabe bezieht sich außerdem auf alle wichtigen Implementierungen von Python – einschließlich CPython, PyPy, Jython, IronPython und Stackless – und wurde den neuesten Änderungen entsprechend hinsichtlich Sprache, Bibliotheken und bewährten Arbeitsweisen aktualisiert und erweitert. Dazu gehören die neuen Abschnitte zu MRO und super(), formalen Vererbungsalgorithmen, Importen, Kontextmanagern, der Einrückung von Codeblöcken sowie häufig verwendeten Bibliotheksmodulen und Tools einschließlich json, timeit, random, subprocess, enum sowie zum Python Launcher für Windows.
In diesem Buch werden folgende Auszeichnungskonventionen verwendet:
Eckige Klammern kennzeichnen in Syntaxformaten optionale Elemente, sind aber soweit angegeben auch Teil der Syntax (z.B. in Listen).
*In Syntaxformaten werden Elemente, hinter denen ein Sternchen steht, null oder mehrmals wiederholt. Das Sternchen wird teilweise aber auch in der Syntax von Python verwendet (z.B. für die Multiplikation).
a|bAlternativen werden in Syntaxformaten mit vertikale Balken gekennzeichnet. Der vertikalen Balken wird teilweise auch in der Syntax von Python verwendet (z.B. für die Vereinigung).
KursivschriftWird für Dateinamen, URLs und zur Hervorhebung neuer Begriffe verwendet.
NichtproportionalschriftKennzeichnet Code, Befehle, Befehlszeilenoptionen, Namen von Modulen, Funktionen, Attributen, Variablen und Klassen.
Nichtproportionalschrift kursivWird für zu ersetzende Parameternamen in der Syntax für Kommandozeilen, Ausdrücke, Funktionen und Klassen verwendet.
Funktion()Soweit nicht anders angegeben, werden aufrufbare Funktionen und Klassen mit zwei darauf folgenden runden Klammern gekennzeichnet, um sie von anderen Attributtypen zu unterscheiden.
Siehe »Abschnittsüberschrift«Verweise auf andere Abschnitte dieses Buchs werden mit der jeweiligen Abschnitssüberschrift in Anführungszeichen angegeben.
In diesem Buch bedeuten »3.X« und »2.X«, dass sich ein Thema auf alle gebräuchlichen Versionen des entsprechenden Python-Zweigs bezieht. Genauere Versionsnummern zeigen, dass ein Thema nur für bestimmte Versionen gilt (z.B. bezieht sich »2.7« nur auf Version 2.7). Da sich die Gültigkeit durch Änderungen in künftigen Python-Versionen ändern kann, sollten Sie auch immer einen Blick auf die »What’s New«-Dokumente werfen, die momentan für die nach diesem Buch veröffentlichten Pythons unter http://docs.python.org/3/whatsnew/index.html gepflegt werden.
Mit Befehlszeilen können Sie Python-Programme von einer System-Shell aus starten. Befehlszeilen haben das folgende Format:
python [optionen*] [ skriptdatei | -c befehl | -m modul | - ] [arg*]In diesem Format steht python für die ausführbare Datei des Python-Interpreters – entweder mit dem vollständigen Verzeichnispfad oder nur das Wort python, das von der System-Shell ausgelöst wird (z.B. über die PATH-Einstellung). Für Python selbst gedachte Befehlszeilenoptionen (optionen) stehen vor dem Namen des auszuführenden Programmcodes. Argumente für den auszuführenden Code kommen danach (arg).
Die Elemente von optionen in Befehlszeilen werden von Python selbst verwendet. In Python 3.X gibt es folgende Optionen (siehe „Befehlsoptionen in Python 2.X“ für die Unterschiede zu 2.X):
Setzt eine Warnung ab, wenn str()mit einem bytes- oder bytearray-Objekt, aber ohne Kodierungsargument aufgerufen oder ein bytes- oder bytearray-Objekt mit einem str verglichen wird. Die Option -bb meldet stattdessen einen Fehler.
-BKeine .pyc- oder .pyo-Bytecode-Dateien für Importe schreiben.
-dSchaltet die Debugging-Ausgabe für den Parser an (für Entwickler des Python-Core).
-EIgnoriert die weiter unten beschriebenen Umgebungsvariablen von Python (wie z.B. PYTHONPATH).
-hGibt eine Hilfemeldung aus und beendet dann die Ausführung.
-iWechselt nach der Ausführung eines Skripts in den interaktiven Modus. Tipp: nützlich für die Postmortem-Fehlersuche; siehe auch pdb.pm(), wie in den Python Library-Handbüchern beschrieben.
-OOptimiert den erzeugten Bytecode (erzeugt und verwendet .pyo-Bytecode-Dateien). Bringt momentan eine leichte Leistungssteigerung.
-OOWie -O, entfernt aber außerdem Docstrings aus dem Bytecode.
-qUnterdrückt beim interaktiven Start die Ausgabe der Versions- und Urheberrechtsinformationen (ab Python 3.2).
-sDas User-Siteverzeichnis nicht zum Modulsuchpfad sys.path hinzufügen.
-SUnterdrückt »import site« bei der Initialisierung.
-uErzwingt, dass stdout und stderr ungepuffert und binär arbeiten.
-vGibt bei jeder Initialisierung eines Moduls eine Meldung aus, von wo das Modul geladen wurde. Wiederholen Sie diese Option für ausführlichere Meldungen.
-VGibt die Python-Versionsnummer aus und beendet die Ausführung (alternativ können Sie auch --version eingeben).
-WargWarnungssteuerung: arg hat die Form Aktion:Meldung:Kategorie:Modul:Zeilennummer. Siehe auch „Warning Framework“ und „Ausnahmen aus der Kategorie Warnungen“ weiter unten sowie die Dokumentation zum Modul warnings in der Python Library Reference (unter http://www.python.org/doc/).
-xÜberspringt die erste Zeile des Quellcodes, wodurch Sie auch Unix-fremde Schreibweisen von #!cmd verwenden können.
-XoptionLegt eine implementationsspezifische Option fest (ab Python 3.2). Zulässige Werte für option finden Sie in der Implementierungsdokumentation.
Der auszuführende Code und dafür zu übergebende Befehlszeilenargumente werden in Python-Befehlszeilen folgendermaßen angegeben:
Name der Python-Skriptdatei, die als Hauptdatei eines Programms ausgeführt werden soll (z.B. führt pythonmain.py den Code in main.py aus). Der Name des Skripts kann ein absoluter oder relativer Dateipfad sein (relativ zu ».«) und wird in sys.argv[0] zur Verfügung gestellt. Auf manchen Plattformen können Sie die Komponente python auch weglassen, wenn Sie die Befehlszeile mit dem Namen der Skriptdatei beginnen und keine Optionen an Python selbst übergeben möchten.
-cbefehlGibt den auszuführenden Python-Code (als String) an (z.B. führt python-c "print('spam' * 8)" eine print-Anweisung in Python aus). sys.argv[0] enthält den Wert '-c'.
-mmodulFührt ein Modul als Skript aus: Sucht nach modul in sys.path und führt dieses als Hauptdatei aus (zum Beispiel führt python-m pdb s.py das Python-Debugger-Modul pdb aus dem Standardbibliotheksverzeichnis mit dem Argument s.py aus). modul darf auch der Name eines Pakets sein (z.B. idlelib.idle). sys.argv[0] enthält den vollständigen Pfad des Moduls.
−Liest Python-Befehle aus dem Standardeingabestream stdin (Standard) und wechselt in den interaktiven Modus, falls es sich bei stdin um ein »tty« (interaktives Gerät) handelt. sys.argv[0] erhält den Wert '−'.
arg*Gibt an, dass der Rest der Befehlszeile an die Skriptdatei oder den Befehl übergeben und in der internen String-Liste sys.argv[1:] erscheint.
Wenn skriptdatei, befehl oder modul nicht angegeben werden, wechselt Python in den interaktiven Modus, nimmt Befehle vom stdin entgegen (unter Verwendung von GNU readline für die Eingabe falls installiert) und legt sys.argv[0] auf den Wert '' fest (Leerstring) – außer wenn die in dieser Liste erklärte Option »–« angegeben wird.
Außer über herkömmliche Befehlszeilen an der Eingabeaufforderung einer System-Shell können Sie Python-Programme üblicherweise auch folgendermaßen ausführen: Indem Sie in einem grafischen Dateibrowser auf den jeweiligen Dateinamen klicken; indem Sie Funktionen der Python-Standardbibliothek aufrufen (z.B. os.popen()); über Programmstart-Menüoptionen in IDEs wie IDLE, Komodo, Eclipse, NetBeans usw.
Python 2.X unterstützt dasselbe Befehlszeilenformat, aber nicht die Option -b, die sich auf Änderungen des String-Typs in Python 3.X bezieht, ebenso wenig wie die in 3.X neu hinzugekommenen Optionen –q und –X. In den Versionen 2.6 und 2.7 werden dagegen zusätzlich folgende Optionen unterstützt (teilweise auch in früheren Versionen):
-t gibt Warnmeldungen für inkonsistente Mischungen von Tabs und Leerzeichen in Einrückungen aus. Die Option -tt gibt statt Warnungen Fehlermeldungen aus. Python 3.X behandelt solche Mischungen immer als Syntaxfehler (siehe auch „Syntaxregeln“).
-QDivisionsbezogene Optionen: -Qold (Standard), -Qwarn, -Qwarnall und –Qnew. Diese Optionen wurden in Python 3.X durch die echte Division subsumiert (siehe auch „Hinweise zum Gebrauch von Operatoren“).
-3Gibt Warnmeldungen für jegliche Python 3.X-Inkompatibilitäten im Code aus, die das Tool 2to3 der Python-Standardinstallation nicht auf einfache Weise beheben kann.
-RAktiviert ein Pseudozufalls-Salt, um vorhersehbare Hash-Werte verschiedener Typen zwischen separaten Aufrufen des Interpreters zum Schutz vor Denial-of-Service-Angriffen zu verhindern. Neu ab Python 2.6.8. Diese Option gibt es im 3.X-Zweig aus Kompatibilitätsgründen ab Version 3.2.3. Die Zufallserzeugung von Hash-Werten ist ab Version 3.3 Standard.
Umgebungsvariablen (auch als Shell-Variablen bekannt), sind systemweite, programmübergreifende Einstellungen, die für die globale Konfiguration verwendet werden.
Die folgenden wichtigen, vom Benutzer konfigurierbaren Umgebungsvariablen beeinflussen das Verhalten von Skripten:
Erweitert den Standardsuchpfad für importierte Moduldateien. Das Format dieses Variablenwerts ist dasselbe wie für die Shell-Einstellung PATH: Verzeichnispfade, die durch Doppelpunkte voneinander getrennt sind (Semikola unter Windows). Wenn diese Umgebungsvariable definiert ist, werden bei Modulimporten die importierten Dateien oder Verzeichnisse von links nach rechts in jedem in PYTHONPATH aufgeführten Verzeichnis gesucht. Steht in sys.path (dem vollständigen Modulsuchpfad für die am weitesten links stehenden Komponenten in absoluten Importen) nach dem Verzeichnis des Skripts und vor den Verzeichnissen der Standardbibliotheken. Siehe auch sys.path im „Modul sys“, und im „Die import-Anweisung“.
PYTHONSTARTUPWenn diese Variable den Namen einer lesbaren Datei enthält, werden die Python-Befehle in dieser Datei ausgeführt, bevor die erste Eingabeaufforderung im interaktiven Modus angezeigt wird (nützlich für die Definition häufig verwendeter Tools).
PYTHONHOMEWenn dieser Wert festgelegt ist, wird er als alternatives Präfixverzeichnis für die Bibliotheksmodule (oder sys.prefix, sys.exec_prefix) verwendet. Der Standard-Modulsuchpfad nutzt sys.prefix/lib.
PYTHONCASEOKWenn dieser Wert festgelegt ist, wird die Groß-/Kleinschreibung in import-Anweisungen ignoriert (derzeit nur unter Windows und OS X).
PYTHONIOENCODINGWeisen Sie den String Kodierung[:Fehler-Handler] zu, um die standardmäßige Unicode-Kodierung (und einen optionalen Fehler-Handler) für Textübertragungen zu den Streams stdin, stdout und stderr zu überschreiben. Diese Einstellung kann in manchen Shells für Nicht-ASCII-Texte erforderlich sein (versuchen Sie beispielsweise die Einstellung utf8 oder eine andere, falls die Ausgabe nicht korrekt erfolgt).
PYTHONHASHSEEDBei Angabe von »random« wird beim Seeden der Hash-Werte für str-, bytes- und datetime-Objekte ein Zufallswert verwendet. Als Wert ist auch ein Integer im Bereich 0...4.294.967.295 zulässig, um Hash-Werte mit einem vorhersehbaren Seed zu erhalten (ab Python 3.2.3 bzw. 2.6.8).
PYTHONFAULTHANDLERFalls diese Variable gesetzt ist, registriert Python beim Start Handler, um bei unbehebbaren Fehlern einen Traceback auszugeben (ab Python 3.3, entspricht -X faulthandler).
Die folgenden Umgebungsvariablen sind gleichbedeutend mit einigen Befehlszeilenoptionen von Python (siehe „Python-Optionen“):
Wenn nicht leer, gleichbedeutend mit Option -d.
PYTHONDONTWRITEBYTECODEWenn nicht leer, gleichbedeutend mit Option -B.
PYTHONINSPECTWenn nicht leer, gleichbedeutend mit Option -i.
PYTHONNOUSERSITEWenn nicht leer, gleichbedeutend mit Option -s.
PYTHONOPTIMIZEWenn nicht leer, gleichbedeutend mit Option -O.
PYTHONUNBUFFEREDWenn nicht leer, gleichbedeutend mit Option -u.
PYTHONVERBOSEWenn nicht leer, gleichbedeutend mit Option -v.
PYTHONWARNINGSWenn nicht leer, gleichbedeutend mit Option -W, selber Wert. Akzeptiert auch einen durch Kommata getrennten String als Äquivalent für mehrere -W-Optionen. (Ab Python 3.2 und 2.7.)
Unter Windows (und nur unter Windows), installieren Python 3.3 und spätere Versionen einen Skript-Launcher, der für frühere Versionen auch separat verfügbar ist. Dieser Launcher besteht aus den ausführbaren Dateien py.exe (Konsole) und pyw.exe (Fenster), die ohne PATH-Einstellungen aufgerufen werden können, durch Dateinamenszuordnung für die Ausführung von Python-Dateien registriert sind und drei Möglichkeiten zur Auswahl der Python-Version bieten: mit Unix-artigen »#!«-Direktiven oben im Skript, Befehlszeilenargumenten und konfigurierbaren Standardwerten.
Der Launcher erkennt »#!«-Zeilen im oberen Teil von Skriptdateien, die Python-Versionen in einer der folgenden Formen zitieren. Dabei ist * entweder: leer, um die Standardversion zu verwenden (aktuell 2, falls installiert, ähnlich wie ohne »#!«-Zeile); eine Major-Versionsnummer (z.B. 3), um die neueste installierte Version dieses Zweigs zu starten; oder eine vollständige Versionsangabe von Major.Minor, optional gefolgt von −32, falls Sie eine 32-Bit-Installation bevorzugen (z.B. 3.1–32):
#!/usr/bin/env python* #!/usr/bin/python* #!/usr/local/bin/python* #!python*Am Zeilenende können Sie beliebige Argumente für Python (python.exe) angeben. Python 3.4 und später suchen unter Umständen in PATH nach »#!«-Zeilen, die python ohne explizite Versionsnummer angeben.
Der Launcher kann auch von einer System-Shell aus über Befehlszeilen der folgenden Form aufgerufen werden:
py [pyarg] [pythonarg*] skript.py [skriptarg*]Allgemeiner ausgedrückt kann alles, was in einem python-Befehl nach der Komponente python stehen kann, auch nach dem optionalen pyarg in einem py-Befehl stehen und wird Wort für Wort an das gestartete Python übergeben. Das gilt auch für die Angaben -m, -c und -, siehe „Verwendung der Python-Befehlszeile“.
Der Launcher akzeptiert für das optionale pyarg folgende Argumentformen, die dem Teil mit dem * am Ende der »#!«-Zeile entsprechen:
−2 Neueste installierte 2.X-Version starten -3 Neueste installierte 3.X-Version starten -X.YAngegebene Version starten (X ist 2 oder 3) -X.Y−32 Angegebene 32-Bit-Version startenFalls beide Angaben vorhanden sind, haben die Befehlszeilenargumente vor anderen, in den »#!«-Zeilen definierten Werten Vorrang. Bei einer Standardinstallation werden »#!«-Zeilen unter Umständen auf mehr Kontexte angewandt (z.B. Klicks auf Symbole).
Auch der Launcher kennt optionale Umgebungsvariablen, mit deren Hilfe die Versionswahl generell oder in bestimmten Fällen angepasst werden kann (z.B. fehlendes »#!«, nur Major-Angabe oder py-Befehlsargument):
PY_PYTHON Version für Standardfälle (sonst 2) PY_PYTHON3 Version für 3-Partials (z.B. 3.2) PY_PYTHON2 Version für 2-Partials (z.B. 2.6)Diese Einstellungen werden nur bei der Ausführung von Dateien über den Launcher verwendet, nicht wenn python direkt aufgerufen wird.
Tabelle 1.1 zeigt die Ausdrucksoperatoren in Python. Die Operatoren in den unteren Zellen dieser Tabelle haben einen höheren Vorrang (also eine stärkere Bindung), wenn sie ohne Klammern mit anderen Operatoren gemischt werden.
In Tabelle 1.1 können die ersetzbaren Ausdruckselemente X, Y, Z, i, j und k Folgendes sein:
Variablennnamen, die durch den zuletzt zugewiesenen Wert ersetzt werden
Literale, definiert im „Besondere integrierte Typen“
Verschachtelte Ausdrücke aus einer beliebigen Zeile dieser Tabelle, möglicherweise in Klammern
Python-Variablen folgen einem dynamischen Typisierungsmodell – sie werden nicht deklariert und erst bei Zuweisung eines Wertes angelegt. Variablen haben Objektverweise als Wert und können auf einem beliebigen Objekttyp verweisen. Außerdem müssen Variablen zugewiesen werden, bevor sie in einem Ausdruck verwendet werden können, und haben keinen Standardwert. Bei Variablennnamen kommt es immer auf die Groß-/Kleinschreibung an (siehe „Namensregeln“). Die Objekte, auf die Variablen verweisen, werden automatisch erzeugt und automatisch vom Garbage Collector (verwendet Referenzzähler in CPython) von Python zurückgefordert, wenn sie nicht mehr verwendet werden.
Außerdem muss in Tabelle 1.1attr der literale Name eines Attributs (ohne Anführungszeichen) sein. args1 ist eine formale Argumentenliste wie im „Die def-Anweisung“, definiert. args2 ist eine Eingabeargumentliste, wie im „Ausdrucksanweisungen“, definiert. Und das Literal ... qualifiziert in 3.X (und nur da) als atomarer Ausdruck.
Die Syntax für Komprehensionen und Datenstrukturliterale (Tupel, Liste, Dictionary und Set), die in den letzten drei Zeilen von Tabelle 1.1 abstrakt dargestellt wird, wird im „Besondere integrierte Typen“, definiert.
Tabelle 1.1 Python 3.X: Ausdrucksoperatoren und deren Vorrang
Operator
Beschreibung
yieldX
Generatorfunktionsergebnis (liefert send()-Wert)
lambdaargs1:X
Erzeugt eine anonyme Funktion (liefert beim Aufruf X zurück)
XifYelseZ
Ternäre Auswahl (X wird nur ausgewertet, wenn Y wahr ist)
XorY
Logisches OR: Y wird nur ausgewertet, wenn X nicht wahr ist
XandY
Logisches AND: Y wird nur ausgewertet, wenn X wahr ist
notX
Logische Negation
XinY, Xnot inY
Enthaltensein: iterierbare Objekte, Sets
XisY, Xis notY
Objektidentität testen
X<Y, X<=Y, X>Y, X>=Y
Größenvergleich, Teilmengen und Obermengen von Sets
XY, X!=Y
Gleichheitsoperatoren
X|Y
Bitweises OR, Vereinigungsmenge von Sets
X^Y
Bitweises exklusives OR, Symmetrische Differenz von Sets
X&Y
Bitweises AND, Schnittmenge von Sets
X<<Y, X>>Y
Schiebt X um Y Bits nach links bzw. rechts
X+Y, X−Y
Addition/Verkettung, Subtraktion/Set-Differenz
X*Y, X%Y,
X/Y, X//Y
Multiplikation/Wiederholung, Rest/Formatieren, Division, restlose Division
-X, +X
Unäre Negation, Identität
˜X
Bitweises NOT-Komplement (Umkehrung)
X**Y
Potenzierung
X[i]
Indizierung (Sequenzen, Mappings, andere)
X[i:j:k]
Slicing (alle drei Grenzen optional)
X(args2)
Aufruf (Funktion, Methode, Klasse und andere aufrufbare Objekte)
X.attr
Attributreferenz
(....)
Tupel, Ausdruck, Generatorausdruck
[....]
Liste, Listenkomprehension
{....}
Dictionary, Set, Dictionary- und Set-Komprehension
Nur in Python 2.X kann Wertungleichheit entweder als X!=Y oder X<>Y geschrieben werden. In Python 3.X wurde die zweite Option wegen Redundanz entfernt.
Nur in Python 2.X ist ein Ausdruck mit Backticks `X` gleichbedeutend mit repr(X) und wandelt Objekte für die Anzeige in Strings um. In Python 3.X verwenden Sie stattdessen die besser lesbaren integrierten Funktionen str() und repr().
Sowohl in Python 3.X als auch in 2.X schneidet die restlose Division X//Y die Restbruchteile immer ab und liefert als Ergebnis eine ganze Zahl.
Der Ausdruck X/Y führt in 3.X eine echte Division durch (die ein Fließkommaergebnis zurückliefert, wobei der Rest erhalten bleibt). In Python 2.X führt dieser Ausdruck dagegen eine klassische Division durch (bei der für ganze Zahlen der Rest abgeschnitten wird), außer die echte Division aus 3.X ist über from __future__ import division oder die Python-Option -Qnew aktiviert.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!