Controlla se una stringa è intera in Python
-
Controlla se una stringa è intera in Python usando il metodo
str.isdigit()
-
Controlla se una stringa è intera in Python usando il
try ... except
la gestione delle eccezioni - Controlla se una stringa è intera in Python usando l’espressione regolare
Questo tutorial spiegherà come verificare se una stringa è un numero intero o meno in Python. Per stringa come numero intero, intendiamo che il valore memorizzato nella stringa rappresenta un numero intero. Possono esserci più metodi per verificarlo e discuteremo di questi metodi con esempi di codice in questo tutorial.
Controlla se una stringa è intera in Python usando il metodo str.isdigit()
Il modo più efficiente per verificare se una stringa è un numero intero in Python è usare il metodo str.isdigit()
, poiché richiede il minor tempo per essere eseguito.
Il metodo str.isdigit()
restituisce True
se la stringa rappresenta un numero intero, altrimenti False
. L’esempio di codice seguente mostra come possiamo usarlo.
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))
Produzione:
True
True
False
L’esempio precedente si prende cura anche se nella stringa è presente anche il segno dell’intero, +
o -
. Se la prima stringa è +
o -
, controlla se il resto della stringa è un numero intero o meno.
Controlla se una stringa è intera in Python usando il try ... except
la gestione delle eccezioni
Un altro metodo è usare try ... except
la gestione delle eccezioni sulla funzione int()
. Se la stringa è un numero intero, restituirà True
e altrimenti False
. L’esempio di codice seguente mostra come implementare questo metodo.
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))
Produzione:
True
True
False
Controlla se una stringa è intera in Python usando l’espressione regolare
Un approccio diverso e interessante che possiamo usare è l’espressione regolare. L’espressione regolare per rappresentare un numero intero sarà [+-]?\d+$
, dove [+-]?
significa che i segni [+-]?
sono opzionali, [+-]?\d+$
significa che dovrebbero esserci una o più cifre nella stringa e $
è la fine della stringa.
Codice di esempio:
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))
Produzione:
True
True
False
Articolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3