lettura facile

Il metodo isnumeric() in Python

Il metodo isnumeric() in Python ti permette di verificare se una stringa è composta esclusivamente da caratteri numerici.

>>> stringa.isnumeric()

Per utilizzare il metodo isnumeric() ti basta chiamarlo su una stringa.

Il metodo restituisce True (vero) se la stringa contiene caratteri numerici. In caso contrario restituisce False (falso).

Ecco un esempio pratico.

Crea una variabile di tipo String chiamata myVar.

>>> myVar = "1234567890"

Chiama il metodo isnumeric() sulla variabile .

>>> myVar.isnumeric()

Il metodo restituisce True perché la stringa è composta solo da numeri.

True

Ti faccio un altro esempio.

Ora digita una stringa con il punto.

>>> myVar = "123.45"

Poi chiama il metodo isnumeric() sulla variabile.

>>> myVar.isnumeric()

In questo caso il metodo restituisce False perché non considera il punto decimale come numerico.

False

Il metodo isnumeric() considera anche altri caratteri come numeri, come ad esempio i numeri CJK (cinesi, giapponesi e coreani).

Pertanto, è molto utile se stai lavorando con testi in lingue diverse dall'italiano.

Altri metodi per verificare la presenza di numeri nelle stringhe

Il metodo isnumeric() non è l'unico metodo che verifica la presenza di numeri in una stringa.

Puoi usare anche il metodo isdigit() e il metodo isdecimal().

Tuttavia, questi metodi si distinguono tra loro per diversi aspetti.

Ad esempio, tra isnumeric() e isdigit() c'è una differenza fondamentale.

  • Il metodo isnumeric() considera anche altri caratteri come numeri, oltre a quelli occidentali standard.
  • Il metodo isdigit() considera solo i numeri occidentali standard.

Ecco qualche esempio pratico.

Esempio 1

Il carattere Unicode con la frazione "½"

numero = "½"
print(numero.isnumeric())
print(numero.isdecimal())
print(numero.isdigit())

è riconosciuto come numero da isnumeric() ma non da isdecimal() e isdigit()

True
False
False

Esempio 2

Il carattère "2²" con i numeri in apice o in pedice

numero = "2²"
print(numero.isnumeric())
print(numero.isdecimal())
print(numero.isdigit())

è riconosciuto come numero dal metodo isnumeric() e isdecimal() ma non da isdigit().

True
False
True

Esempio 3

Il carattere "六" è il numero 5 in giapponese

numero ="六"
print(numero.isnumeric())
print(numero.isdecimal())
print(numero.isdigit())

E' riconosciuto come numero da isnumeric() ma non da isdecimal() e isdigit()

True
False
False

Quindi, la scelta del metodo giusto da utilizzare dipende dalle tue esigenze di calcolo.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin