5.1 Zahlentyp
Zahlen bieten skalare Speicherung und direkten Zugriff. Es handelt sich um einen unveränderlichen Typ, was bedeutet, dass durch Ändern des Werts der Zahl ein neues Objekt erstellt wird. Natürlich ist dieser Prozess sowohl für Programmierer als auch für Benutzer transparent und hat keinen Einfluss auf die Art und Weise, wie Software entwickelt wird. Python unterstützt mehrere Zahlentypen: Ganzzahl, lange, boolesche, doppelte, dezimale Gleitkommazahl und komplexe Zahlen.
So aktualisieren Sie ein numerisches Objekt
Weil Sie den ursprünglichen Wert des Objekts nicht wirklich aktualisieren. Dies liegt daran, dass numerische Objekte unveränderliche Objekte sind. Das Objektmodell von Python unterscheidet sich etwas vom regulären Objektmodell. Was Sie als Update bezeichnen, ist eigentlich das Erstellen eines neuen numerischen Objekts und das Abrufen einer Referenz darauf.
Während des Programmierlernens wurde uns immer beigebracht, dass eine Variable wie eine Box ist, die den Wert der Variablen enthält. In Python ähnelt eine Variable eher einem Zeiger, der auf ein Feld zeigt, das den Wert der Variablen enthält. Bei unveränderlichen Typen können Sie den Inhalt der Box nicht ändern, aber Sie können den Zeiger auf eine neue Box zeigen. Jedes Mal, wenn Sie einer Variablen eine andere Zahl zuweisen, erstellen Sie tatsächlich ein neues Objekt und weisen es der Variablen zu (dies gilt für alle unveränderlichen Typen, nicht nur Zahlen)
anInt += 1
aFloat = 2.718281828
So löschen Sie ein numerisches Objekt
Nach den Regeln von Python können Sie ein numerisches Objekt nicht wirklich löschen, Sie verwenden es einfach nicht mehr. Wenn Sie
tatsächlich eine Referenz auf ein numerisches Objekt löschen möchten, verwenden Sie die del-Anweisung (siehe Abschnitt 3.5.6). Nachdem Sie die Referenz auf ein Objekt
gelöscht haben, können Sie die Referenz (Variablenname) nicht mehr verwenden, es sei denn, Sie weisen ihr einen neuen Wert zu. Wenn Sie versuchen, eine Objektreferenz zu verwenden, die von
gelöscht wurde, wird eine NameError-Ausnahme ausgelöst.
del anInt
del aLong, aFloat, aComplex
5.3 Gleitkommazahl mit doppelter Genauigkeit
Die Gleitkommazahl in Python ähnelt dem Double-Typ in der C-Sprache ist eine Gleitkommazahl mit doppelter Genauigkeit und kann direkt in dezimaler oder wissenschaftlicher Notation ausgedrückt werden. Jede Gleitkommazahl belegt 8 Bytes (64 Bit) und entspricht vollständig der IEEE754-Spezifikation (52M/11E/1S), von der 52 Bit zur Darstellung der Basis und 11 Bit zur Darstellung des Exponenten verwendet werden (der darstellbare Bereich beträgt ungefähr plus oder minus 10 hoch 308,25) und das verbleibende eine Bit stellt das Symbol dar. Das sieht ziemlich gut aus, die tatsächliche Genauigkeit hängt jedoch von der Maschinenarchitektur und dem Compiler ab, der zum Erstellen des Python-Interpreters verwendet wird. Gleitkommawerte haben normalerweise einen Dezimalpunkt und ein optionales Suffix e (Groß- oder Kleinbuchstaben, was die wissenschaftliche Schreibweise anzeigt). Sie können positiv (+) oder negativ (-) zwischen e und dem Exponenten verwenden, um das Vorzeichen des Exponenten anzugeben (das Vorzeichen kann weggelassen werden, wenn es sich um eine positive Zahl handelt). Im Folgenden finden Sie einige typische Beispiele für Gleitkommawerte:
0,0 | 🎜>
5.4 Pluralzahlen