Verifique se a variável é string ou não está em Python

Manav Narula 30 janeiro 2023
  1. Use a função type() para verificar se uma variável é uma string ou não
  2. Use a função isinstance() para verificar se uma variável é uma string ou não
Verifique se a variável é string ou não está em Python

O tipo de dados string é usado para representar uma coleção de caracteres. Este tutorial irá discutir como verificar se uma variável é do tipo string ou não.

Use a função type() para verificar se uma variável é uma string ou não

A função type() retorna o tipo de classe da variável passada. O código a seguir mostra como usar esta função para verificar se uma variável é uma string ou não.

value = "Yes String"
if type(value) == str:
    print("True")
else:
    print("False")

Resultado:

True

No entanto, é importante notar que este método é geralmente desencorajado e é denominado unidiomático em Python. A razão por trás disso é porque o operador == compara a variável apenas para a classe de string e retornará False para todas as suas subclasses.

Use a função isinstance() para verificar se uma variável é uma string ou não

Portanto, é encorajado o uso da função isinstance() em vez do tradicional type(). A função isinstance() verifica se um objeto pertence à subclasse especificada. O trecho de código a seguir irá explicar como podemos usá-lo para verificar se há objetos de string.

value = "Yes String"
if isinstance(value, str):
    print("True")
else:
    print("False")

Resultado:

True

No Python 2, podemos usar a classe basestring, que é uma classe abstrata para str e unicode, para testar se um objeto é uma instância de str ou unicode. Por exemplo,

value = "Yes String"
if isinstance(value, basestring):
    print("True")
else:
    print("False")

Resultado:

True

Para usar o método acima no Python 3, podemos usar o módulo six. Este módulo possui funções que nos permitem escrever código compatível com Python 2 e 3.

A função string_types() retorna todos os tipos possíveis para dados de string. Por exemplo,

import six

value = "Yes String"
if isinstance(value, six.string_types):
    print("True")
else:
    print("False")

Resultado:

True
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python String