Verifique que la variable sea cadena o no en Python
-
Utilice la función
type()
para comprobar si una variable es una cadena o no -
Utilice la función
isinstance()
para comprobar si una variable es una cadena o no
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 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