Integer-Strings ohne Try/Except überprüfen
Bei der Arbeit mit Strings ist es oft notwendig zu bestimmen, ob ein String eine Ganzzahl darstellt. Traditionell wurde dies mithilfe eines Try/Except-Mechanismus erreicht, um eine Ganzzahlkonvertierung zu versuchen und Ausnahmen zu behandeln, wenn dies fehlschlägt. Es gibt jedoch alternative Ansätze, die den Aufwand der Ausnahmebehandlung vermeiden.
isdigit für positive ganze Zahlen
Für positive ganze Zahlen kann die Python-Funktion .isdigit() verwendet werden . Es gibt True zurück, wenn die Zeichenfolge ausschließlich aus Ziffern besteht, andernfalls False:
>>> '16'.isdigit() True
Negative ganze Zahlen mit Präfixprüfung
Dieser Ansatz funktioniert nicht für negative ganze Zahlen. Um damit umzugehen, können Sie nach einem Bindestrich-Präfix suchen und dann testen, ob die verbleibenden Zeichen Ziffern sind:
>>> s = '-17' >>> s.startswith('-') and s[1:].isdigit() True
Umgang mit Dezimalpunkten
Die obige Methode ist unzureichend beim Umgang mit Zeichenfolgen, die Dezimalpunkte enthalten. Um dies zu beheben, ist ein etwas komplexerer Ansatz erforderlich:
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()
Diese Funktion prüft auf ein positives oder negatives Präfix und verwendet dann .isdigit(), um die verbleibenden Zeichen zu validieren.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python überprüfen, ob ein String eine Ganzzahl darstellt, ohne Try/Except zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!