Verifique se uma string é inteira em Python
-
Verifique se uma string é inteira em Python usando o método
str.isdigit()
-
Verifique se uma string é inteira em Python usando o
try ... except
Tratamento de exceções - Verifique se uma string é inteira em Python usando uma expressão regular
Este tutorial explicará como verificar se uma string é um número inteiro ou não em Python. Por string ser inteiro, queremos dizer que o valor armazenado na string representa um inteiro. Pode haver vários métodos para verificar isso e discutiremos esses métodos com exemplos de código neste tutorial.
Verifique se uma string é inteira em Python usando o método str.isdigit()
A maneira mais eficiente de verificar se uma string é um inteiro em Python é usar o método str.isdigit()
, pois leva menos tempo para ser executado.
O método str.isdigit()
retorna True
se a string representa um inteiro, caso contrário, False
. O exemplo de código abaixo mostra como podemos usá-lo.
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))
Resultado:
True
True
False
O exemplo acima também cuida se o sinal do inteiro, +
ou -
, também existe na string. Se a primeira string for +
ou -
, ele verifica se o resto da string é um inteiro ou não.
Verifique se uma string é inteira em Python usando o try ... except
Tratamento de exceções
Outro método é usar o tratamento de exceção try ... except
na função int()
. Se a string for um inteiro, ele retornará True
e, caso contrário False
. O exemplo de código abaixo mostra como podemos implementar esse 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))
Resultado:
True
True
False
Verifique se uma string é inteira em Python usando uma expressão regular
Uma abordagem diferente e interessante que podemos usar é a expressão regular. A expressão regular para representar um número inteiro será [+-]?\d+$
, onde [+-]?
significa que os sinais +-
são opcionais, \d+
significa que deve haver um ou mais dígitos na string e $
é o final da string.
Código de exemplo:
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))
Resultado:
True
True
False
Artigo relacionado - Python String
- Remover vírgulas da string em Python
- Como verificar se uma string está vazia de uma forma pythonica
- Converter uma string em nome de variável em Python
- Como remover espaços em branco numa string em Python
- Números extraídos de uma string em Python
- Como converter string para data em Python