Verifique se uma string é inteira em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Verifique se uma string é inteira em Python usando o método str.isdigit()
  2. Verifique se uma string é inteira em Python usando o try ... except Tratamento de exceções
  3. Verifique se uma string é inteira em Python usando uma expressão regular
Verifique se uma string é inteira em Python

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

Artigo relacionado - Python Integer