Heim >Backend-Entwicklung >Python-Tutorial >Warum wirft Python den Fehler „ValueError: ungültiges Literal für int() mit Basis 10' aus?

Warum wirft Python den Fehler „ValueError: ungültiges Literal für int() mit Basis 10' aus?

DDD
DDDOriginal
2025-01-05 17:01:14754Durchsuche

Why Does Python Throw a

ValueError: Ungültiges Literal für Int() – Entschlüsselung des Fehlers

Im Bereich der Python-Programmierung wird der Fehler „ValueError: Ungültiges Literal für Der Fehler „int() mit Basis 10“ tritt auf, wenn versucht wird, eine Zeichenfolge mithilfe der Funktion int() in eine Ganzzahl umzuwandeln. aber die Zeichenfolge kann nicht erfolgreich als ganzzahliger Wert interpretiert werden.

Fehlerursache

Dieser Fehler tritt normalerweise auf, wenn die Zeichenfolge Zeichen oder Symbole enthält, die nicht als erkannt werden Ziffern oder können nicht ordnungsgemäß in eine gültige ganze Zahl umgewandelt werden. Ein häufiges Beispiel ist, wenn die Zeichenfolge leer oder leer ist, da das Fehlen numerischer Zeichen ihre Konvertierung in eine Ganzzahl verhindert.

Beispielszenario

Bedenken Sie den Codeausschnitt wo Der Fehler ist aufgetreten:

>>> string_data = ''
>>> integer_representation = int(string_data)
ValueError: invalid literal for int() with base 10: ''

In diesem Fall wird der Zeichenfolge string_data ein leerer Zeichenfolgenwert zugewiesen. Wenn diese Zeichenfolge zur Konvertierung in eine Ganzzahl an die int()-Funktion übergeben wird, schlägt dies aufgrund fehlender Ziffern fehl.

Lösung

Um diesen Fehler zu beheben , muss unbedingt sichergestellt werden, dass die in eine Ganzzahl konvertierte Zeichenfolge gültige numerische Zeichen enthält und keine leere Zeichenfolge ist. Eine einfache Lösung besteht darin, die Zeichenfolge vor der Konvertierung auf Länge oder Leerheit zu überprüfen:

if len(string_data) > 0:
    integer_representation = int(string_data)
else:
    # Handle error or provide a default value

Wenn die Zeichenfolge außerdem nicht numerische Zeichen oder Gleitkommawerte enthält, müssen Sie möglicherweise Vorgänge wie z B. das Herausfiltern nicht numerischer Zeichen oder das Konvertieren von Gleitkommawerten in Ganzzahlen über Zwischenkonvertierungen.

Das obige ist der detaillierte Inhalt vonWarum wirft Python den Fehler „ValueError: ungültiges Literal für int() mit Basis 10' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn