Método isdigit() de Python3
Descripción
El método isdigit() de Python detecta si la cadena está compuesta solo por dígitos.
Sintaxis
Sintaxis del método isdigit():
str.isdigit()
Parámetros
- Ninguno.
Valor de retorno
Si la cadena contiene solo dígitos, devuelve True; de lo contrario, devuelve False.
Ejemplo
El siguiente ejemplo demuestra el método isdigit():
Ejemplo
#!/usr/bin/python3
str = "123456";
print (str.isdigit())
str = "Ejemplo example....wow!!!"
print (str.isdigit())
str = "123456";
print (str.isdigit())
str = "Ejemplo example....wow!!!"
print (str.isdigit())
El resultado del ejemplo anterior es el siguiente:
True False
El método isdigit() solo es válido para números enteros positivos; devuelve resultados incorrectos para números negativos y decimales.
Se puede usar la siguiente función para resolverlo:
Ejemplo
# Determina si es un número
def is_number(s):
try: # Si se puede ejecutar la sentencia float(s), devuelve True (la cadena s es un número de punto flotante)
float(s)
return True
except ValueError: # ValueError es una excepción estándar de Python que indica "se pasó un argumento inválido"
pass # Si se produce una excepción ValueError, no haga nada (pass: no hace nada, generalmente se usa como declaración de relleno)
try:
import unicodedata # Paquete para manejar códigos ASCII
unicodedata.numeric(s) # Función que convierte una cadena que representa un número en un número de punto flotante y lo devuelve
return True
except (TypeError, ValueError):
pass
return False
print(is_number(1))
print(is_number(1.0))
print(is_number(0))
print(is_number(-2))
print(is_number(-2.0))
print(is_number("abc"))
El resultado de salida es:
True True True True True False
Otras extensiones
Cadenas de Python3