Verifique que la variable sea cadena o no en Python

Manav Narula 30 enero 2023
  1. Utilice la función type() para comprobar si una variable es una cadena o no
  2. Utilice la función isinstance() para comprobar si una variable es una cadena o no
Verifique que la variable sea cadena o no en Python

El tipo de datos de cadena se utiliza para representar una colección de caracteres. Este tutorial discutirá cómo verificar si una variable es un tipo de cadena o no.

Utilice la función type() para comprobar si una variable es una cadena o no

La función type() devuelve el tipo de clase de la variable pasada. El siguiente código muestra cómo usar esta función para verificar si una variable es una cadena o no.

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

Producción :

True

Sin embargo, vale la pena señalar que este método generalmente no se recomienda y se denomina unidiomático en Python. La razón detrás de esto es porque el operador == compara la variable solo para la clase de cadena y devolverá False para todas sus subclases.

Utilice la función isinstance() para comprobar si una variable es una cadena o no

Por lo tanto, se recomienda utilizar la función isinstance() sobre la tradicional type(). La función isinstance() comprueba si un objeto pertenece a la subclase especificada. El siguiente fragmento de código explicará cómo podemos usarlo para buscar objetos de cadena.

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

Producción :

True

En Python 2, podemos usar la clase basestring, que es una clase abstracta para str y unicode, para probar si un objeto es una instancia de str o unicode. Por ejemplo,

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

Producción :

True

Para usar el método anterior en Python 3, podemos usar el módulo six. Este módulo tiene funciones que nos permiten escribir código compatible tanto con Python 2 como con 3.

La función string_types() devuelve todos los tipos posibles de datos de cadena. Por ejemplo,

import six

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

Producción :

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

Artículo relacionado - Python String