Cómo comprobar si una variable es una cadena (string) en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si una variable es una cadena (string) en Python. Esto implica comprender el tipo de datos fundamental de las cadenas y explorar métodos para identificar cadenas.

Comenzarás creando y manipulando cadenas utilizando comillas simples, dobles y triples, incluyendo cadenas de múltiples líneas. Luego, aprenderás a usar la función type() y la función isinstance() para confirmar si una variable contiene un valor de cadena.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ObjectOrientedProgrammingGroup -.-> python/classes_objects("Classes and Objects") subgraph Lab Skills python/variables_data_types -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} python/numeric_types -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} python/strings -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} python/booleans -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} python/build_in_functions -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} python/classes_objects -.-> lab-559603{{"Cómo comprobar si una variable es una cadena (string) en Python"}} end

Comprender las cadenas (strings) en Python

En este paso, aprenderás sobre las cadenas en Python. Las cadenas se utilizan para representar texto y son uno de los tipos de datos más fundamentales en la programación. Explorarás cómo crear cadenas, cómo trabajar con ellas y algunas de las operaciones comunes que se pueden realizar en las cadenas.

Primero, creemos un archivo de Python llamado string_examples.py en tu directorio ~/project utilizando el editor VS Code.

Las cadenas se pueden crear utilizando comillas simples ('...') o comillas dobles ("..."). Agreguemos algunos ejemplos a string_examples.py:

## Creating strings
string1 = 'Hello, LabEx!'
string2 = "Python is fun"

print(string1)
print(string2)

Guarda el archivo. Ahora, ejecutemos este script utilizando el comando python en la terminal:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun

Las cadenas también pueden contener números, símbolos y espacios:

string3 = "12345"
string4 = "!@#$%^"
string5 = "This is a sentence."

print(string3)
print(string4)
print(string5)

Agrega estas líneas a tu archivo string_examples.py y ejecútalo nuevamente:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.

Python también admite cadenas de múltiples líneas utilizando comillas triples ('''...''' o """..."""):

string6 = '''This is a
multi-line string.'''

string7 = """This is another
multi-line string."""

print(string6)
print(string7)

Agrega estas líneas a tu archivo string_examples.py y ejecútalo nuevamente:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.

Comprender cómo crear y usar cadenas es esencial para trabajar con datos de texto en Python. En los siguientes pasos, aprenderás más sobre las operaciones de cadenas y cómo manipularlas de manera efectiva.

Usar type() para verificar

En este paso, aprenderás cómo usar la función type() en Python para verificar el tipo de datos de una variable. Esta es una herramienta útil para entender el tipo de datos con los que estás trabajando y para depurar tu código.

Continuemos usando el archivo string_examples.py que creaste en el paso anterior. Agregaremos algo de código para verificar los tipos de las variables que definimos.

La función type() devuelve el tipo de un objeto. Por ejemplo, si tienes una variable de tipo cadena (string), type() devolverá <class 'str'>.

Agrega las siguientes líneas a tu archivo string_examples.py:

## Checking the type of variables
print(type(string1))
print(type(string2))
print(type(string3))

Guarda el archivo. Ahora, ejecutemos el script utilizando el comando python en la terminal:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>

Como puedes ver, la función type() confirma que string1, string2 y string3 son todas de tipo str, que significa cadena (string).

Ahora, agreguemos algunos otros tipos de variables para ver cómo funciona type() con ellos. Agrega las siguientes líneas a tu archivo string_examples.py:

## Checking the type of other variables
number = 10
decimal = 3.14
boolean = True

print(type(number))
print(type(decimal))
print(type(boolean))

Guarda el archivo y ejecútalo nuevamente:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

Aquí, type() muestra que number es un int (entero), decimal es un float (número de punto flotante) y boolean es un bool (booleano).

Usar type() es una forma sencilla de verificar el tipo de datos de una variable en Python. Esto puede ser útil cuando estás trabajando con diferentes tipos de datos y necesitas asegurarte de que estás realizando las operaciones correctas.

Confirmar con isinstance()

En este paso, aprenderás cómo usar la función isinstance() en Python para verificar si un objeto es una instancia de una clase o tipo particular. Esta es otra forma de verificar el tipo de datos de una variable y puede ser especialmente útil cuando se trabaja con herencia y clases personalizadas.

Continuemos usando el archivo string_examples.py con el que has estado trabajando. Agregaremos algo de código para demostrar cómo funciona isinstance().

La función isinstance() toma dos argumentos: el objeto que deseas verificar y la clase o tipo contra el que deseas verificar. Devuelve True si el objeto es una instancia de la clase o tipo especificado, y False en caso contrario.

Agrega las siguientes líneas a tu archivo string_examples.py:

## Checking with isinstance()
print(isinstance(string1, str))
print(isinstance(number, int))
print(isinstance(decimal, float))
print(isinstance(boolean, bool))
print(isinstance(string1, int))

Guarda el archivo. Ahora, ejecutemos el script utilizando el comando python en la terminal:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False

Como puedes ver, isinstance(string1, str) devuelve True porque string1 es una cadena (string). Del mismo modo, isinstance(number, int) devuelve True porque number es un entero, y así sucesivamente. Sin embargo, isinstance(string1, int) devuelve False porque string1 no es un entero.

isinstance() también se puede usar con clases personalizadas. Por ejemplo:

class MyClass:
    pass

obj = MyClass()

print(isinstance(obj, MyClass))

Agrega estas líneas a tu archivo string_examples.py y ejecútalo nuevamente:

python ~/project/string_examples.py

Deberías ver la siguiente salida:

Hello, LabEx!
Python is fun
12345
!@#$%^
This is a sentence.
This is a
multi-line string.
This is another
multi-line string.
<class 'str'>
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
True
True
True
True
False
True

Aquí, isinstance(obj, MyClass) devuelve True porque obj es una instancia de MyClass.

Usar isinstance() es una forma poderosa de verificar el tipo de un objeto en Python, especialmente cuando se trabaja con herencia y clases personalizadas. Te permite escribir código más robusto y flexible que puede manejar diferentes tipos de datos correctamente.

Resumen

En este laboratorio (lab), el primer paso se centra en comprender las cadenas (strings) en Python, un tipo de datos fundamental para representar texto. Se aborda la creación de cadenas utilizando comillas simples, comillas dobles y comillas triples para cadenas de múltiples líneas. Se proporcionan ejemplos para demostrar cómo las cadenas pueden contener números, símbolos y espacios.

El laboratorio guía a los usuarios para crear un archivo string_examples.py, agregar varios ejemplos de cadenas y ejecutar el script utilizando el comando python para observar la salida. Este enfoque práctico refuerza la comprensión de la creación y manipulación de cadenas en Python.