LU02d - Einlesen verschiedener Datentypen

Lernziele:

  • Sie wissen, wie man String-, Integer-, Gleitkomma- und boolesche Variablen einliesst und verwendet.

Der Typ einer Variablen kann nach dem Lesen von Benutzereingabedaten spezifiziert werden. Eine Variable, die die Zeichenkette “text” enthält, wird zum Beispiel beim Lesen mit dem input-Aufruf deklariert, und eine Ganzzahl mit dem Wert 42 kann mit int(varable_name) deklariert werden.

Der Typ einer Variablen bestimmt die Arten von Werten, die ihr zugewiesen werden können. String-Typen enthalten Text, int-Typen ganze Zahlen, float Gleitkommazahlen, und boolesche Typen sind entweder wahr oder falsch.

Die möglichen Werte eines bestimmten Variablentyps sind also begrenzt. Eine String-Variable kann z. B. keine Integerwerte enthalten, und eine Float-Variable kann keinen booleschen Wert enthalten.

Typ Beispiel Akzeptierte Werte
Ganze Zahl, d.h. int value = 4 Eine Integer-Zahl kann jede ganze Zahl enthalten. Einige Programmiersprachen haben Grenzen für Integer-Werte, die mit 32- oder 64-Bit-Darstellungen zu tun haben, aber seit Python 3 dürfen die Werte von int unbeschränkt sein.
Fließkommazahl, d.h. float value = 4.2Fließkommazahlen enthalten Dezimalzahlen, wobei der größtmögliche Wert 1,7976931348623157e+308 (ein riesiger Wert) ist. Wenn eine Dezimalzahl durch eine Fließkommazahl dargestellt wird, kann der Wert ungenau sein, da Fließkommazahlen nicht in der Lage sind, alle Dezimalzahlen darzustellen. Sie können diese Ungenauigkeit sehen, wenn Sie (zum Beispiel) den Befehl 1.2 - 1.0 in einer Python-Datei ausführen. Solange Sie keine ernsthaften wissenschaftlichen Berechnungen durchführen, sollten Sie sich in der Praxis keine großen Sorgen über diese Fehler machen.
String value = 'Hi' Eine Zeichenkette kann Text enthalten. Zeichenketten werden in Anführungszeichen gesetzt.
Wahrer oder falscher Wert, d.h. bool right = True Ein Boolean enthält entweder den Wert True oder False. (Beachten Sie die Großschreibung.)

Der Befehl int wandelt eine Zeichenkette in eine ganze Zahl um. Er nimmt die Zeichenkette, die den zu konvertierenden Wert enthält, als Parameter.

value_as_string = "42"
value = int(value_as_string)
 
print(value)
42

Bei Verwendung eines Input-Aufrufs wird das Lesen des Wertes in der Regel direkt in die Typkonvertierung eingefügt. Dies geschieht folgendermaßen:

def main():
    value = int(input("Write a value "))
    print("You wrote " + str(value))
Write a value
User: <42>
You wrote 42

Beachten Sie, dass wir unsere Variable in der Print-Anweisung wieder in einen String umwandeln mussten, um sie mit dem String “You wrote ” verketten zu können. Hätten wir str() weggelassen, wäre ein Fehler aufgetreten.

Die Befehle float und bool konvertieren Zeichenketten in Gleitkommazahlen und Boolesche Werte. Ähnlich wie int nehmen sie die Zeichenkette, die den zu konvertierenden Wert enthält, als Parameter.

value_as_string = "42.6"
value = float(value_as_string)
 
print(value)
42.6
value_as_string = "True"
value = bool(value_as_string)
 
print(value)
True

Wenn Sie versuchen, einen Wert wie value_as_string = '42.6' in einen int zu konvertieren, wird ein Fehler ausgegeben:

Traceback (most recent call last):
  File "main.py"", line 1, in <module>
ValueError: invalid literal for int() with base 10: '42.6'

© Kevin Maurizi

Diese Theorieseite ist eine übersetzte und Theorieseite Aufgabe von Scott Morgan, verwendet unter CC BY NC SA.

  • modul/archiv/m319python/learningunits/lu02/lu02d-einlesenverschiedenerdatentypen.txt
  • Last modified: 2023/11/13 08:56
  • by 127.0.0.1