Como Verificar se uma Variável é um Dicionário em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma variável é um dicionário em Python. Dicionários são estruturas de dados fundamentais usadas para armazenar dados em pares chave-valor. Você começará entendendo os fundamentos dos dicionários, incluindo como criá-los, acessá-los e modificá-los usando chaves {} e indexação baseada em chave.

O laboratório então o guia através do uso da função type() e da função isinstance() para identificar se uma variável é um dicionário. Você criará scripts Python para testar esses métodos e observar a saída, solidificando sua compreensão de como determinar programaticamente se uma variável contém um objeto dicionário.

Entenda os Dicionários

Nesta etapa, você aprenderá sobre dicionários, uma estrutura de dados fundamental em Python. Dicionários são usados para armazenar dados em pares chave-valor, permitindo que você recupere rapidamente valores com base em suas chaves associadas.

Um dicionário é definido usando chaves {}. Cada par chave-valor é separado por dois pontos :, e os pares são separados por vírgulas ,. Aqui está um exemplo simples:

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

Para trabalhar com dicionários, vamos criar um arquivo Python chamado dictionary_example.py no seu diretório ~/project usando o editor VS Code.

Abra o VS Code, crie um novo arquivo chamado dictionary_example.py no diretório ~/project e adicione o seguinte conteúdo:

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

## Print the entire dictionary
print(my_dict)

Agora, execute o script Python usando o seguinte comando no terminal:

python ~/project/dictionary_example.py

Você deve ver a seguinte saída:

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

Para acessar um valor específico no dicionário, use a chave entre colchetes []:

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

Modifique seu arquivo dictionary_example.py para incluir as seguintes linhas:

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

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

Execute o script novamente:

python ~/project/dictionary_example.py

A saída agora será:

Alice

Você também pode adicionar novos pares chave-valor a um dicionário:

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

Atualize seu arquivo 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)

Execute o script:

python ~/project/dictionary_example.py

A saída será:

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

Dicionários são mutáveis, o que significa que você pode alterar o valor associado a uma chave:

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

Modifique seu arquivo 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)

Execute o script:

python ~/project/dictionary_example.py

A saída será:

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

Entender dicionários é crucial para trabalhar com dados estruturados em Python. Eles fornecem uma maneira flexível e eficiente de armazenar e recuperar informações.

Use type() para Identificar

Nesta etapa, você aprenderá como usar a função type() em Python para identificar o tipo de dados de uma variável. Esta é uma ferramenta útil para entender o tipo de dados com o qual você está trabalhando e para depurar seu código.

A função type() retorna o tipo de um objeto. Por exemplo, se você tiver uma variável contendo um inteiro, type() retornará <class 'int'>. Se ela contiver uma string, retornará <class 'str'>, e assim por diante.

Vamos continuar trabalhando com o arquivo dictionary_example.py que você criou na etapa anterior. Adicionaremos algum código para identificar os tipos de diferentes variáveis.

Abra dictionary_example.py no VS Code e adicione as seguintes linhas:

## 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))

Agora, execute o script Python usando o seguinte comando:

python ~/project/dictionary_example.py

Você deve ver a seguinte saída:

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

Esta saída informa que my_dict é um dicionário (dict), name é uma string (str) e age é um inteiro (int).

Você também pode usar type() com outros tipos de dados, como listas e booleanos. Vamos adicionar mais alguns exemplos 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))

Execute o script novamente:

python ~/project/dictionary_example.py

A saída agora será:

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

Como você pode ver, type() é uma função versátil que pode ajudá-lo a entender os tipos de dados com os quais você está trabalhando em Python. Isso é especialmente útil quando você está lidando com estruturas de dados complexas ou quando não tem certeza do tipo de uma variável.

Confirme com isinstance()

Nesta etapa, você aprenderá como usar a função isinstance() em Python para confirmar se um objeto é uma instância de uma classe ou tipo específico. Esta função é mais robusta que type() porque também considera a herança.

A função isinstance() recebe dois argumentos: o objeto que você deseja verificar e a classe ou tipo que você deseja verificar. Ela retorna True se o objeto é uma instância da classe ou tipo especificado e False caso contrário.

Vamos continuar trabalhando com o arquivo dictionary_example.py. Adicionaremos algum código para confirmar os tipos de diferentes variáveis usando isinstance().

Abra dictionary_example.py no VS Code e adicione as seguintes linhas:

## 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))

Agora, execute o script Python usando o seguinte comando:

python ~/project/dictionary_example.py

Você deve ver a seguinte saída:

True
True
True

Esta saída confirma que my_dict é um dicionário, name é uma string e age é um inteiro.

Você também pode usar isinstance() para verificar vários tipos de uma vez, passando uma tupla de tipos como o segundo argumento. Por exemplo:

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

Modifique seu arquivo dictionary_example.py para incluir esta verificação:

## 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)))

Execute o script novamente:

python ~/project/dictionary_example.py

A saída agora será:

True
True
True
True

isinstance() é uma ferramenta poderosa para verificação de tipos em Python, especialmente ao lidar com herança ou quando você precisa verificar vários tipos. Ela ajuda você a escrever um código mais robusto e confiável, garantindo que suas variáveis sejam dos tipos esperados.

Resumo

Neste laboratório, você aprendeu sobre dicionários em Python, uma estrutura de dados fundamental para armazenar dados em pares chave-valor. Você criou um dicionário, acessou valores usando chaves e adicionou novos pares chave-valor.

Você também praticou o uso da função type() e da função isinstance() para verificar se uma variável é um dicionário. A função type() retorna o tipo de um objeto, enquanto isinstance() verifica se um objeto é uma instância de uma classe ou tipo especificado.