Wie man prüft, ob eine Zahl in Python eine Ganzzahl (keine Gleitkommazahl) ist

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie in Python feststellen können, ob eine Zahl eine Ganzzahl (Integer) oder eine Gleitkommazahl (Float) ist. Das Lab beginnt damit, Ganzzahlen und Gleitkommazahlen voneinander zu unterscheiden, ihre wichtigsten Eigenschaften hervorzuheben und Beispiele zu geben.

Anschließend werden Sie zwei Methoden zur Überprüfung des Datentyps einer Zahl erkunden: die Verwendung der isinstance()-Funktion mit int und die Verwendung der type()-Funktion für Präzision. Durch praktische Übungen erstellen Sie ein Python-Skript, um Ganzzahl- und Gleitkommazahl-Datentypen zu identifizieren und voneinander zu unterscheiden, wodurch Sie Ihr Verständnis der Datentypüberprüfung in Python festigen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/variables_data_types -.-> lab-559545{{"Wie man prüft, ob eine Zahl in Python eine Ganzzahl (keine Gleitkommazahl) ist"}} python/numeric_types -.-> lab-559545{{"Wie man prüft, ob eine Zahl in Python eine Ganzzahl (keine Gleitkommazahl) ist"}} python/type_conversion -.-> lab-559545{{"Wie man prüft, ob eine Zahl in Python eine Ganzzahl (keine Gleitkommazahl) ist"}} python/build_in_functions -.-> lab-559545{{"Wie man prüft, ob eine Zahl in Python eine Ganzzahl (keine Gleitkommazahl) ist"}} end

Unterscheidung zwischen Ganzzahlen und Gleitkommazahlen

In diesem Schritt lernen Sie, wie Sie zwischen zwei grundlegenden Datentypen in Python unterscheiden können: Ganzzahlen (Integers) und Gleitkommazahlen (Floats). Das Verständnis des Unterschieds ist entscheidend für die Durchführung genauer Berechnungen und Datenmanipulationen.

Ganzzahlen (Integer)

Ganzzahlen sind ganze Zahlen, positiv oder negativ, ohne Dezimalstellen. Beispiele sind -3, 0, 5, 100.

Gleitkommazahlen (Float)

Gleitkommazahlen, oder Fließkommazahlen, sind Zahlen, die eine Dezimalstelle enthalten. Sie können auch Zahlen in wissenschaftlicher Notation darstellen. Beispiele sind -2.5, 0.0, 3.14, 1.0e5 (was 100000.0 entspricht).

Beginnen wir damit, ein Python-Skript zu erstellen, um diese Datentypen zu erkunden.

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen datatypes.py im Verzeichnis ~/project.

    touch ~/project/datatypes.py
  3. Öffnen Sie die Datei datatypes.py im Editor und fügen Sie den folgenden Python-Code hinzu:

    ## Assign an integer to the variable 'integer_number'
    integer_number = 10
    
    ## Assign a float to the variable 'float_number'
    float_number = 10.0
    
    ## Print the values and their types
    print("Integer:", integer_number, "Type:", type(integer_number))
    print("Float:", float_number, "Type:", type(float_number))
  4. Speichern Sie die Datei datatypes.py.

  5. Führen Sie das Skript mit dem Befehl python im Terminal aus:

    python ~/project/datatypes.py

    Sie sollten die folgende Ausgabe sehen:

    Integer: 10 Type: <class 'int'>
    Float: 10.0 Type: <class 'float'>

    Diese Ausgabe zeigt deutlich, dass integer_number vom Typ int und float_number vom Typ float ist.

  6. Lassen Sie uns nun eine einfache arithmetische Operation durchführen, um zu sehen, wie Python diese Typen behandelt:

    Modifizieren Sie die Datei datatypes.py, um Folgendes einzuschließen:

    ## Assign an integer to the variable 'integer_number'
    integer_number = 10
    
    ## Assign a float to the variable 'float_number'
    float_number = 10.0
    
    ## Print the values and their types
    print("Integer:", integer_number, "Type:", type(integer_number))
    print("Float:", float_number, "Type:", type(float_number))
    
    ## Add an integer and a float
    sum_result = integer_number + float_number
    
    ## Print the result and its type
    print("Sum:", sum_result, "Type:", type(sum_result))
  7. Speichern Sie die Datei datatypes.py.

  8. Führen Sie das Skript erneut aus:

    python ~/project/datatypes.py

    Sie sollten die folgende Ausgabe sehen:

    Integer: 10 Type: <class 'int'>
    Float: 10.0 Type: <class 'float'>
    Sum: 20.0 Type: <class 'float'>

    Beachten Sie, dass wenn Sie eine Ganzzahl und eine Gleitkommazahl addieren, das Ergebnis eine Gleitkommazahl ist. Dies liegt daran, dass Python die Ganzzahl automatisch in eine Gleitkommazahl umwandelt, um die Genauigkeit aufrechtzuerhalten.

Verwendung von isinstance() mit int

In diesem Schritt lernen Sie, wie Sie die isinstance()-Funktion verwenden, um zu prüfen, ob eine Variable eine Ganzzahl (Integer) ist. Diese Funktion ist ein leistungsstarkes Werkzeug zur Überprüfung von Datentypen in Python.

Die isinstance()-Funktion nimmt zwei Argumente:

  • Die Variable, die Sie prüfen möchten.
  • Der Datentyp, gegen den Sie prüfen möchten (z.B. int, float, str).

Sie gibt True zurück, wenn die Variable den angegebenen Typ hat, und False sonst.

Lassen Sie uns die Datei datatypes.py aus dem vorherigen Schritt so ändern, dass die isinstance()-Funktion enthalten ist.

  1. Öffnen Sie die Datei datatypes.py im VS Code-Editor.

  2. Fügen Sie der Datei folgenden Code hinzu:

    ## Assign an integer to the variable 'integer_number'
    integer_number = 10
    
    ## Assign a float to the variable 'float_number'
    float_number = 10.0
    
    ## Print the values and their types
    print("Integer:", integer_number, "Type:", type(integer_number))
    print("Float:", float_number, "Type:", type(float_number))
    
    ## Add an integer and a float
    sum_result = integer_number + float_number
    
    ## Print the result and its type
    print("Sum:", sum_result, "Type:", type(sum_result))
    
    ## Check if integer_number is an integer
    is_integer = isinstance(integer_number, int)
    print("Is integer_number an integer?", is_integer)
    
    ## Check if float_number is an integer
    is_integer = isinstance(float_number, int)
    print("Is float_number an integer?", is_integer)
  3. Speichern Sie die Datei datatypes.py.

  4. Führen Sie das Skript mit dem Befehl python im Terminal aus:

    python ~/project/datatypes.py

    Sie sollten die folgende Ausgabe sehen:

    Integer: 10 Type: <class 'int'>
    Float: 10.0 Type: <class 'float'>
    Sum: 20.0 Type: <class 'float'>
    Is integer_number an integer? True
    Is float_number an integer? False

    Wie Sie sehen können, gibt isinstance(integer_number, int) True zurück, weil integer_number tatsächlich eine Ganzzahl ist. isinstance(float_number, int) gibt False zurück, weil float_number eine Gleitkommazahl und keine Ganzzahl ist.

Diese Funktion ist besonders nützlich, wenn Sie unterschiedliche Aktionen basierend auf dem Datentyp einer Variable ausführen müssen. Beispielsweise möchten Sie möglicherweise Ganzzahldivision durchführen, wenn eine Variable eine Ganzzahl ist, und Gleitkommadivision, wenn es sich um eine Gleitkommazahl handelt.

Prüfung mit type() für Genauigkeit

In diesem Schritt werden Sie untersuchen, wie die type()-Funktion verwendet werden kann, um die Genauigkeit von Zahlen in Python zu verstehen. Während isinstance() prüft, ob eine Variable zu einem bestimmten Typ gehört, gibt type() den tatsächlichen Typ der Variable zurück. Dies ist nützlich, um zu verstehen, wie Python verschiedene numerische Operationen und deren resultierende Genauigkeit behandelt.

Lassen Sie uns die Datei datatypes.py weiter modifizieren, um dies zu demonstrieren.

  1. Öffnen Sie die Datei datatypes.py im VS Code-Editor.

  2. Fügen Sie der Datei folgenden Code hinzu:

    ## Assign an integer to the variable 'integer_number'
    integer_number = 10
    
    ## Assign a float to the variable 'float_number'
    float_number = 10.0
    
    ## Print the values and their types
    print("Integer:", integer_number, "Type:", type(integer_number))
    print("Float:", float_number, "Type:", type(float_number))
    
    ## Add an integer and a float
    sum_result = integer_number + float_number
    
    ## Print the result and its type
    print("Sum:", sum_result, "Type:", type(sum_result))
    
    ## Check if integer_number is an integer
    is_integer = isinstance(integer_number, int)
    print("Is integer_number an integer?", is_integer)
    
    ## Check if float_number is an integer
    is_integer = isinstance(float_number, int)
    print("Is float_number an integer?", is_integer)
    
    ## Perform division with integers
    division_result = integer_number / 3
    print("Division result:", division_result, "Type:", type(division_result))
    
    ## Perform integer division with integers
    integer_division_result = integer_number // 3
    print("Integer division result:", integer_division_result, "Type:", type(integer_division_result))
  3. Speichern Sie die Datei datatypes.py.

  4. Führen Sie das Skript mit dem Befehl python im Terminal aus:

    python ~/project/datatypes.py

    Sie sollten die folgende Ausgabe sehen:

    Integer: 10 Type: <class 'int'>
    Float: 10.0 Type: <class 'float'>
    Sum: 20.0 Type: <class 'float'>
    Is integer_number an integer? True
    Is float_number an integer? False
    Division result: 3.3333333333333335 Type: <class 'float'>
    Integer division result: 3 Type: <class 'int'>

    Beobachten Sie Folgendes:

    • Wenn Sie zwei Ganzzahlen mit dem /-Operator teilen, ist das Ergebnis eine Gleitkommazahl, auch wenn das Ergebnis eine ganze Zahl ist. Dies liegt daran, dass Python das möglichst genauste Ergebnis liefern möchte.
    • Wenn Sie den //-Operator (Ganzzahldivision) verwenden, ist das Ergebnis eine Ganzzahl, wobei jeglicher Bruchteil verworfen wird.

Das Verständnis dieser Feinheiten ist entscheidend für das Schreiben von genauen und effizienten Python-Codes, insbesondere bei der Arbeit mit numerischen Berechnungen.

Zusammenfassung

In diesem Lab haben Sie gelernt, den Unterschied zwischen Ganzzahlen (Integers) und Gleitkommazahlen (Floats) in Python zu unterscheiden. Ganzzahlen sind Zahlen ohne Dezimalpunkt, während Gleitkommazahlen Zahlen mit einem Dezimalpunkt sind. Sie haben ein Python-Skript erstellt, um Ganzzahl- und Gleitkommawerte Variablen zuzuweisen und dann deren Werte zusammen mit ihren jeweiligen Typen mithilfe der type()-Funktion ausgegeben. Die Ausgabe hat gezeigt, dass Variablen, denen ganze Zahlen zugewiesen wurden, vom Typ int sind, und solche mit Dezimalpunkten vom Typ float sind.