Como Verificar se uma Variável é uma Lista em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma variável é uma lista em Python. Isso envolve a compreensão da estrutura de dados fundamental das listas, que são coleções ordenadas e mutáveis de itens.

O laboratório guia você através da criação de diferentes tipos de listas usando o VS Code no ambiente LabEx, incluindo listas de números, strings e tipos de dados mistos. Em seguida, você explorará o acesso a elementos dentro de uma lista usando seu índice. O laboratório demonstrará ainda como identificar listas usando funções Python embutidas como type() e isinstance().

Entenda as Listas

Nesta etapa, você aprenderá sobre listas, uma das estruturas de dados mais versáteis e fundamentais em Python. Listas são usadas para armazenar coleções de itens, que podem ser de qualquer tipo de dado. Elas são ordenadas, o que significa que os itens têm uma sequência específica, e mutáveis, o que significa que você pode alterar seu conteúdo após a criação.

Vamos começar criando uma lista simples:

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado lists_example.py no diretório ~/project.

    ~/project/lists_example.py
  3. Adicione o seguinte código ao arquivo:

    ## Criando uma lista de números
    numbers = [1, 2, 3, 4, 5]
    print("Lista de números:", numbers)
    
    ## Criando uma lista de strings
    fruits = ["apple", "banana", "cherry"]
    print("Lista de frutas:", fruits)
    
    ## Criando uma lista de tipos de dados mistos
    mixed_list = [1, "hello", 3.14, True]
    print("Lista de tipos de dados mistos:", mixed_list)

    Aqui, criamos três listas diferentes: numbers contendo inteiros, fruits contendo strings e mixed_list contendo uma mistura de tipos de dados.

  4. Execute o script usando o seguinte comando no terminal:

    python ~/project/lists_example.py

    Você deve ver a seguinte saída:

    Lista de números: [1, 2, 3, 4, 5]
    Lista de frutas: ['apple', 'banana', 'cherry']
    Lista de tipos de dados mistos: [1, 'hello', 3.14, True]

Agora, vamos explorar algumas operações comuns em listas:

  1. Acessando elementos: Você pode acessar elementos em uma lista usando seu índice (posição). O índice começa em 0 para o primeiro elemento.

    Adicione o seguinte código a lists_example.py:

    fruits = ["apple", "banana", "cherry"]
    print("Primeira fruta:", fruits[0])  ## Acessando o primeiro elemento
    print("Segunda fruta:", fruits[1]) ## Acessando o segundo elemento
    print("Terceira fruta:", fruits[2])  ## Acessando o terceiro elemento
  2. Execute o script novamente:

    python ~/project/lists_example.py

    Você deve ver a seguinte saída:

    Primeira fruta: apple
    Segunda fruta: banana
    Terceira fruta: cherry
  3. Modificando elementos: Você pode alterar o valor de um elemento em uma lista atribuindo um novo valor ao seu índice.

    Adicione o seguinte código a lists_example.py:

    fruits = ["apple", "banana", "cherry"]
    fruits[1] = "grape"  ## Mudando o segundo elemento
    print("Lista de frutas modificada:", fruits)
  4. Execute o script novamente:

    python ~/project/lists_example.py

    Você deve ver a seguinte saída:

    Lista de frutas modificada: ['apple', 'grape', 'cherry']
  5. Adicionando elementos: Você pode adicionar elementos ao final de uma lista usando o método append().

    Adicione o seguinte código a lists_example.py:

    fruits = ["apple", "banana", "cherry"]
    fruits.append("orange")  ## Adicionando um elemento ao final
    print("Lista com fruta adicionada:", fruits)
  6. Execute o script novamente:

    python ~/project/lists_example.py

    Você deve ver a seguinte saída:

    Lista com fruta adicionada: ['apple', 'banana', 'cherry', 'orange']

Compreender listas e como manipulá-las é crucial para escrever programas Python eficazes.

Use type() para Identificar

Nesta etapa, você aprenderá como usar a função type() em Python para identificar o tipo de dado de uma variável. Compreender os tipos de dados é crucial para escrever código correto e eficiente. A função type() retorna o tipo de um objeto.

Vamos criar um novo arquivo Python para explorar a função type():

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado type_example.py no diretório ~/project.

    ~/project/type_example.py
  3. Adicione o seguinte código ao arquivo:

    ## Usando type() para identificar tipos de dados
    
    number = 10
    print("Tipo de number:", type(number))
    
    floating_point = 3.14
    print("Tipo de floating_point:", type(floating_point))
    
    text = "Hello, LabEx!"
    print("Tipo de text:", type(text))
    
    is_true = True
    print("Tipo de is_true:", type(is_true))
    
    my_list = [1, 2, 3]
    print("Tipo de my_list:", type(my_list))
    
    my_tuple = (1, 2, 3)
    print("Tipo de my_tuple:", type(my_tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("Tipo de my_dict:", type(my_dict))

    Neste código, estamos usando type() para determinar o tipo de dado de diferentes variáveis, incluindo inteiros, números de ponto flutuante, strings, booleanos, listas, tuplas e dicionários.

  4. Execute o script usando o seguinte comando no terminal:

    python ~/project/type_example.py

    Você deve ver a seguinte saída:

    Tipo de number: <class 'int'>
    Tipo de floating_point: <class 'float'>
    Tipo de text: <class 'str'>
    Tipo de is_true: <class 'bool'>
    Tipo de my_list: <class 'list'>
    Tipo de my_tuple: <class 'tuple'>
    Tipo de my_dict: <class 'dict'>

A saída mostra o tipo de dado de cada variável. Por exemplo, <class 'int'> indica que a variável é um inteiro, <class 'str'> indica uma string, e assim por diante.

Compreender o tipo de dado de uma variável é essencial para realizar operações corretamente. Por exemplo, você não pode adicionar uma string a um inteiro diretamente sem converter a string em um inteiro primeiro. A função type() ajuda você a identificar esses possíveis problemas em seu código.

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 é uma maneira mais robusta de verificar tipos de dados em comparação com o uso direto de type(), especialmente ao lidar com herança.

Vamos criar um novo arquivo Python para explorar a função isinstance():

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado isinstance_example.py no diretório ~/project.

    ~/project/isinstance_example.py
  3. Adicione o seguinte código ao arquivo:

    ## Usando isinstance() para confirmar tipos de dados
    
    number = 10
    print("É number um inteiro?", isinstance(number, int))
    
    floating_point = 3.14
    print("É floating_point um float?", isinstance(floating_point, float))
    
    text = "Hello, LabEx!"
    print("É text uma string?", isinstance(text, str))
    
    is_true = True
    print("É is_true um booleano?", isinstance(is_true, bool))
    
    my_list = [1, 2, 3]
    print("É my_list uma lista?", isinstance(my_list, list))
    
    my_tuple = (1, 2, 3)
    print("É my_tuple uma tupla?", isinstance(my_tuple, tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("É my_dict um dicionário?", isinstance(my_dict, dict))

    Neste código, estamos usando isinstance() para verificar se cada variável é uma instância do tipo de dado esperado. A função isinstance() retorna True se o objeto é uma instância do tipo especificado e False caso contrário.

  4. Execute o script usando o seguinte comando no terminal:

    python ~/project/isinstance_example.py

    Você deve ver a seguinte saída:

    É number um inteiro? True
    É floating_point um float? True
    É text uma string? True
    É is_true um booleano? True
    É my_list uma lista? True
    É my_tuple uma tupla? True
    É my_dict um dicionário? True

Agora, vamos considerar um cenário com herança:

  1. Adicione o seguinte código a isinstance_example.py:

    class Animal:
        pass
    
    class Dog(Animal):
        pass
    
    animal = Animal()
    dog = Dog()
    
    print("É animal um Animal?", isinstance(animal, Animal))
    print("É dog um Dog?", isinstance(dog, Dog))
    print("É dog um Animal?", isinstance(dog, Animal))
    print("É animal um Dog?", isinstance(animal, Dog))
  2. Execute o script novamente:

    python ~/project/isinstance_example.py

    Você deve ver a seguinte saída:

    É animal um Animal? True
    É dog um Dog? True
    É dog um Animal? True
    É animal um Dog? False

    Como você pode ver, isinstance() identifica corretamente que um Dog também é um Animal porque Dog herda de Animal. É aqui que isinstance() é mais poderoso do que comparar diretamente os tipos com type().

Usar isinstance() torna seu código mais flexível e robusto ao lidar com diferentes tipos de dados e herança.

Resumo

Neste laboratório, você aprendeu sobre listas, uma estrutura de dados fundamental em Python usada para armazenar coleções ordenadas e mutáveis de itens de vários tipos de dados. Você criou listas contendo números, strings e tipos de dados mistos, e as imprimiu no console.

O laboratório também introduziu o acesso a elementos de lista usando seu índice, começando de 0 para o primeiro elemento. Você acessou e imprimiu elementos específicos de uma lista de frutas para demonstrar esse conceito.