Cómo comprobar si una variable es un diccionario 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 un diccionario en Python. Los diccionarios son estructuras de datos fundamentales utilizadas para almacenar datos en pares clave-valor. Comenzarás por entender los conceptos básicos de los diccionarios, incluyendo cómo crearlos, acceder a ellos y modificarlos utilizando llaves {} e indexación basada en claves.

A continuación, el laboratorio te guiará a través del uso de la función type() y la función isinstance() para identificar si una variable es un diccionario. Crearás scripts de Python para probar estos métodos y observar la salida, lo que consolidará tu comprensión de cómo determinar mediante programación si una variable contiene un objeto de diccionario.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-559599{{"Cómo comprobar si una variable es un diccionario en Python"}} python/booleans -.-> lab-559599{{"Cómo comprobar si una variable es un diccionario en Python"}} python/dictionaries -.-> lab-559599{{"Cómo comprobar si una variable es un diccionario en Python"}} python/build_in_functions -.-> lab-559599{{"Cómo comprobar si una variable es un diccionario en Python"}} python/data_collections -.-> lab-559599{{"Cómo comprobar si una variable es un diccionario en Python"}} end

Comprender los diccionarios

En este paso, aprenderás sobre los diccionarios, una estructura de datos fundamental en Python. Los diccionarios se utilizan para almacenar datos en pares clave-valor, lo que te permite recuperar rápidamente valores basados en sus claves asociadas.

Un diccionario se define utilizando llaves {}. Cada par clave-valor está separado por dos puntos :, y los pares se separan por comas ,. Aquí tienes un ejemplo sencillo:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}
print(my_dict)

Para trabajar con diccionarios, creemos un archivo de Python llamado dictionary_example.py en tu directorio ~/project utilizando el editor VS Code.

Abre VS Code, crea un nuevo archivo llamado dictionary_example.py en el directorio ~/project y agrega el siguiente contenido:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Print the entire dictionary
print(my_dict)

Ahora, ejecuta el script de Python utilizando el siguiente comando en la terminal:

python ~/project/dictionary_example.py

Deberías ver la siguiente salida:

{'name': 'Alice', 'age': 30, 'city': 'New York'}

Para acceder a un valor específico en el diccionario, utiliza la clave dentro de corchetes []:

name = my_dict["name"]
print(name)

Modifica tu archivo dictionary_example.py para incluir las siguientes líneas:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Access a value using the key
name = my_dict["name"]
print(name)

Ejecuta el script nuevamente:

python ~/project/dictionary_example.py

La salida ahora será:

Alice

También puedes agregar nuevos pares clave-valor a un diccionario:

my_dict["occupation"] = "Engineer"
print(my_dict)

Actualiza tu archivo dictionary_example.py:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Add a new key-value pair
my_dict["occupation"] = "Engineer"
print(my_dict)

Ejecuta el script:

python ~/project/dictionary_example.py

La salida será:

{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Engineer'}

Los diccionarios son mutables, lo que significa que puedes cambiar el valor asociado a una clave:

my_dict["age"] = 31
print(my_dict)

Modifica tu archivo dictionary_example.py:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Change the value of an existing key
my_dict["age"] = 31
print(my_dict)

Ejecuta el script:

python ~/project/dictionary_example.py

La salida será:

{'name': 'Alice', 'age': 31, 'city': 'New York'}

Comprender los diccionarios es crucial para trabajar con datos estructurados en Python. Proporcionan una forma flexible y eficiente de almacenar y recuperar información.

Utilizar type() para identificar

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

La función type() devuelve el tipo de un objeto. Por ejemplo, si tienes una variable que contiene un entero, type() devolverá <class 'int'>. Si contiene una cadena, devolverá <class 'str'>, y así sucesivamente.

Continuemos trabajando con el archivo dictionary_example.py que creaste en el paso anterior. Agregaremos algo de código para identificar los tipos de diferentes variables.

Abre dictionary_example.py en VS Code y agrega las siguientes líneas:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

Ahora, ejecuta el script de Python utilizando el siguiente comando:

python ~/project/dictionary_example.py

Deberías ver la siguiente salida:

<class 'dict'>
<class 'str'>
<class 'int'>

Esta salida te indica que my_dict es un diccionario (dict), name es una cadena (str) y age es un entero (int).

También puedes utilizar type() con otros tipos de datos, como listas y booleanos. Agreguemos algunos ejemplos más a dictionary_example.py:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

## Create a list
my_list = [1, 2, 3]
print(type(my_list))

## Create a boolean
is_adult = True
print(type(is_adult))

Ejecuta el script nuevamente:

python ~/project/dictionary_example.py

La salida ahora será:

<class 'dict'>
<class 'str'>
<class 'int'>
<class 'list'>
<class 'bool'>

Como puedes ver, type() es una función versátil que puede ayudarte a entender los tipos de datos con los que estás trabajando en Python. Esto es especialmente útil cuando estás trabajando con estructuras de datos complejas o cuando no estás seguro del tipo de una variable.

Confirmar con isinstance()

En este paso, aprenderás cómo utilizar la función isinstance() en Python para confirmar si un objeto es una instancia de una clase o tipo particular. Esta función es más robusta que type() porque también considera la herencia.

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

Continuemos trabajando con el archivo dictionary_example.py. Agregaremos algo de código para confirmar los tipos de diferentes variables utilizando isinstance().

Abre dictionary_example.py en VS Code y agrega las siguientes líneas:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

Ahora, ejecuta el script de Python utilizando el siguiente comando:

python ~/project/dictionary_example.py

Deberías ver la siguiente salida:

True
True
True

Esta salida confirma que my_dict es un diccionario, name es una cadena y age es un entero.

También puedes utilizar isinstance() para comprobar contra múltiples tipos a la vez pasando una tupla de tipos como segundo argumento. Por ejemplo:

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

Modifica tu archivo dictionary_example.py para incluir esta comprobación:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

Ejecuta el script nuevamente:

python ~/project/dictionary_example.py

La salida ahora será:

True
True
True
True

isinstance() es una herramienta poderosa para la comprobación de tipos en Python, especialmente cuando se trata de herencia o cuando necesitas comprobar contra múltiples tipos. Te ayuda a escribir código más robusto y confiable asegurando que tus variables son del tipo esperado.

Resumen

En este laboratorio, aprendiste sobre los diccionarios en Python, una estructura de datos fundamental para almacenar datos en pares clave-valor. Creaste un diccionario, accediste a valores utilizando claves y agregaste nuevos pares clave-valor.

También practicaste el uso de la función type() y la función isinstance() para verificar si una variable es un diccionario. La función type() devuelve el tipo de un objeto, mientras que isinstance() comprueba si un objeto es una instancia de una clase o tipo especificado.