HOWTO · Python
Prüfen, ob ein String Integer ist in Python
Dieses Tutorial erklärt, wie geprüft werden kann, ob eine Zeichenkette eine ganze Zahl ist, d.h. ob eine Zeichenkette eine ganze Zahl darstellt oder nicht.
In diesem Tutorial wird erklärt, wie man in Python prüfen kann, ob eine Zeichenkette eine ganze Zahl ist oder nicht. Wenn eine Zeichenkette eine ganze Zahl ist, bedeutet dies, dass der in der Zeichenkette gespeicherte Wert eine ganze Zahl darstellt. Es kann mehrere Methoden geben, dies zu überprüfen, und wir werden diese Methoden mit Codebeispielen in diesem Tutorial besprechen.
Prüfen, ob eine Zeichenkette ganzzahlig ist in Python mit der Methode str.isdigit()
Der effizienteste Weg, um in Python zu prüfen, ob eine Zeichenkette eine ganze Zahl ist, ist die Verwendung der Methode str.isdigit(), da sie die wenigste Zeit für die Ausführung benötigt.
Die Methode str.isdigit() gibt True zurück, wenn die Zeichenkette eine ganze Zahl darstellt, ansonsten False. Das folgende Codebeispiel zeigt, wie wir sie verwenden können.
def if_integer(string):
if string[0] == ("-", "+"):
return string[1:].isdigit()
else:
return string.isdigit()
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Ausgabe:
True
True
False
Im obigen Beispiel wird auch darauf geachtet, ob das Vorzeichen der Ganzzahl, also + oder -, auch in der Zeichenkette vorhanden ist. Wenn die erste Zeichenkette + oder - ist, wird geprüft, ob der Rest der Zeichenkette eine ganze Zahl ist oder nicht.
Prüfen, ob eine Zeichenkette eine ganze Zahl ist in Python mit der Ausnahmebehandlung try ... except
Eine andere Methode ist die Verwendung der Ausnahmebehandlung try ... except für die Funktion int(). Wenn die Zeichenkette eine ganze Zahl ist, wird True zurückgegeben, ansonsten False. Das folgende Codebeispiel zeigt, wie wir diese Methode implementieren können.
def if_integer(string):
try:
int(string)
return True
except ValueError:
return False
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Ausgabe:
True
True
False
Prüfen, ob eine Zeichenkette eine ganze Zahl ist, in Python mithilfe eines regulären Ausdrucks
Ein anderer und interessanter Ansatz, den wir verwenden können, ist der reguläre Ausdruck. Der reguläre Ausdruck zur Darstellung einer ganzen Zahl ist [+-]?\d+$, wobei [+-]? bedeutet, dass die +- Zeichen optional sind, \d+ bedeutet, dass eine oder mehrere Ziffern in der Zeichenkette vorhanden sein sollten und $ das Ende der Zeichenkette ist.
Beispiel-Code:
import re
def if_integer(string):
reg_exp = "[-+]?\d+$"
return re.match(reg_exp, string) is not None
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Ausgabe:
True
True
False