Comprobar si una cadena es un número entero en Python
-
Comprobar si una cadena es entera en Python usando el método
str.isdigit()
-
Comprobar si una cadena es un entero en Python usando el manejo de excepciones
try ... except
- Comprobar si una cadena es un entero en Python usando una expresión regular
Este tutorial explicará cómo comprobar si una cadena es un entero o no en Python. Por cadena que es un entero, queremos decir que el valor almacenado en la cadena representa un entero. Puede haber múltiples métodos para comprobar esto, y discutiremos esos métodos con ejemplos de código en este tutorial.
Comprobar si una cadena es entera en Python usando el método str.isdigit()
La forma más eficiente de comprobar si una cadena es un entero en Python es utilizar el método str.isdigit()
, ya que es el que menos tiempo tarda en ejecutarse.
El método str.isdigit()
devuelve True
si la cadena representa un entero, en caso contrario False
. El siguiente ejemplo de código muestra cómo podemos utilizarlo.
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))
Producción :
True
True
False
El ejemplo anterior también tiene en cuenta si el signo del entero, +
o -
, también existe en la cadena. Si la primera cadena es +
o -
, comprueba si el resto de la cadena es un entero o no.
Comprobar si una cadena es un entero en Python usando el manejo de excepciones try ... except
Otro método es utilizar el manejo de excepciones try ... except
en la función int()
. Si la cadena es un entero, devolverá True
y en caso contrario False
. El siguiente ejemplo de código muestra cómo podemos implementar este método.
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))
Producción :
True
True
False
Comprobar si una cadena es un entero en Python usando una expresión regular
Un enfoque diferente e interesante que podemos utilizar es la expresión regular. La expresión regular para representar un entero será [+-]?\d+$
, donde [+-]?
significa que los signos +-
son opcionales, \d+
significa que debe haber uno o más dígitos en la cadena y $
es el final de la cadena.
Código de ejemplo:
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))
Producción :
True
True
False
Artículo relacionado - Python String
- Eliminar comas de cadena en Python
- Cómo comprobar si una cadena está vacía de forma ptónica
- Convertir una cadena en nombre de variable en Python
- Cómo eliminar los espacios en blanco de una cadena en Python
- Cómo extraer números de una cadena en Python
- Cómo convertir una cadena a datetime en Python