Neste artigo vamos aprender a verificar se o valor de uma variável string é número com Python, por maneiras bem simples e rápidas.
Fala programador(a), beleza? Bora aprender mais sobre Python!
Temos um método no Python que verifica se as strings são um digito, porém ele só trabalha com inteiros positivo
O método é isdigit, ele vai retornar True ou False se a string for um inteiro, veja:
a = 'teste' b = '12' c = 'temos o numero 1 aqui' print(a.isdigit()) print(b.isdigit()) print(c.isdigit())
Vemos aqui o método sendo utilizado, veja as saídas:
False True False
Perceba que ele só vai retornar True, caso a string realmente seja apenas um número
Nos demais casos é retornado False
Podemos também fazer uma função para tratar deste caso, e abranger os floats (números quebrados), veja:
d = '12.28' e = 'teste' def isNumber(n): try: float(n) except ValueError: return False return True print(isNumber(d)) print(isNumber(e))
Aqui teremos mais flexibilidade quanto as entradas, veja a saída deste código:
True False
Basta então você escolher a quem tem mais aplicabilidade na sua regra de negócios
E seu pudesse te indicar alguma maneira, ficaria com a primeira
Já que é uma alternativa nativa do próprio Python e com certeza te proporcionará melhor performance que a nossa função com o try
Sempre opte por alternativas da linguagem que você está utilizando e sempre busque funções nativas para o que está tentando fazer, deve haver algo já criado ou semelhante
Conclusão
Neste artigo vimos como verificar se o valor de uma variável string é número
De uma maneira mais simples com o isdigit, porém não abrange floats
E outra por meio de uma função que trata qualquer tipo de entrada, retornando valores para pontos flutuantes também
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube