Die Python-Funktion int() erzeugt eine Ganzzahl aus verschiedenen Eingaben: Strings (mit optionaler Basis 2 bis 36), Floats (Nachkommastellen werden abgeschnitten Richtung Null), Booleans und Objekten mit __int__() oder __index__(). Ohne Argument liefert int() 0. In Python sind int-Objekte beliebig groß — anders als in C oder Java gibt es keine Größenbegrenzung.

Einleitung

int() ist sowohl der Konstruktor des Datentyps int als auch eine flexible Konvertierungsfunktion. Drei Hauptanwendungen prägen den Alltag:

  1. String → Zahl: int("42") parst eine ASCII-Dezimaldarstellung. Mit base= (2–36) auch Binär, Oktal, Hex und beliebige andere Basen.
  2. Float → int: Schneidet Richtung Null ab (int(3.9) == 3, int(-3.9) == -3) — anders als math.floor(), das Richtung negativ unendlich rundet.
  3. Custom-Objekt: Klassen mit __int__() oder __index__() werden korrekt konvertiert.

int selbst ist in Python arbitrary precision: es gibt keinen Overflow. Operationen wie 2 ** 1_000 liefern korrekte Ergebnisse, dauern aber bei sehr großen Zahlen entsprechend.

Syntax

Python Syntax
int()                  # → 0
int(x)                 # x: int, float oder Objekt mit __int__/__index__
int(string, base=10)   # base 2..36, oder 0 für Car-Erkennung via Präfix
Parameter
x

Eine Zahl (int, float), ein String oder ein Objekt mit __int__()/__index__().

base

(Optional, Default 10) Basis für String-Eingaben — von 2 bis 36. Mit base=0 wird die Basis am Präfix erkannt (0b, 0o, 0x).

Rückgabewert

Eine int-Instanz. Bei nicht parsierbarem String: ValueError. Bei nicht unterstütztem Typ: TypeError.

Beispiele

Aus String und Float

Python Beispiel
print(int("42"))
print(int("  -7  "))   # Whitespace ist erlaubt
print(int(3.9))         # schneidet Richtung 0 ab
print(int(-3.9))
print(int(True), int(False))
Output
42
-7
3
-3
1 0

Mit Basis

Python Beispiel
print(int("ff", 16))       # Hex
print(int("1010", 2))       # Binär
print(int("777", 8))        # Oktal

# base=0 erkennt Präfixe automatisch
print(int("0xff", 0))
print(int("0b1010", 0))
Output
255
10
511
255
10

Underscores als Lesehilfe

Python Beispiel
print(int("1_000_000"))
print(int("0xff_ff", 16))
Output
1000000
65535

Praktische Beispiele

Sichere Konvertierung mit Default

Python Beispiel
def to_int(s, default=0):
    try:
        return int(str(s).strip())
    except (ValueError, TypeError):
        return default

print(to_int("42"))
print(to_int("abc", default=-1))
print(to_int(None, default=-1))
Output
42
-1
-1

Hex-Farbcode parsen

Python Beispiel
hex_farbe = "#0a8ea1"
value = int(hex_farbe.lstrip("#"), 16)
print(f"Wert: {value}, Hex: {hex(value)}")
Output
Wert: 691873, Hex: 0xa8ea1

Float korrekt runden statt abschneiden

Python Beispiel
x = 3.7
print(int(x))         # 3 — schneidet ab
print(round(x))       # 4 — kaufmännisch gerundet
import math
print(math.floor(x))  # 3 — nach unten
print(math.ceil(x))   # 4 — nach oben
Output
3
4
3
4

Praktische Hinweise

  • int() schneidet Richtung Null ab, nicht „nach unten". Für mathematisches Abrunden math.floor(), für kaufmännisches round().
  • Beliebig große Zahlen sind ohne Overflow möglich — int ist in Python „big int".
  • Locale ignoriert: int() versteht nur ASCII-Ziffern, nicht z. B. "1.000" (Tausender-Point). Vorher mit .replace(".", "") aufbereiten.
  • Boolean ist int: True == 1, False == 0. int(True) → 1.
  • Verwandte Funktionen: float(), bin(), hex(), oct(), str().
/ Weiter

Zurück zu Builtin Functions

Zur Übersicht