Introdução
Neste laboratório, você aprenderá como identificar se uma variável é um conjunto (set) em Python. Começará compreendendo as características fundamentais dos conjuntos, incluindo sua natureza desordenada e a unicidade de seus elementos. Através de exercícios práticos, você criará conjuntos usando chaves ({}) e o construtor set(), e explorará operações comuns de conjuntos, como adicionar e remover elementos, bem como verificar a pertinência (membership).
O laboratório o guiará então através do uso da função type() e da função isinstance() para determinar se uma variável é de fato um conjunto. Ao final deste laboratório, você estará equipado com o conhecimento e as habilidades para identificar com confiança conjuntos em seu código Python.
Entendendo Conjuntos
Nesta etapa, você aprenderá sobre conjuntos (sets) em Python. Conjuntos são coleções desordenadas de elementos únicos. Isso significa que um conjunto não pode conter valores duplicados, e a ordem dos elementos em um conjunto não é garantida. Conjuntos são úteis para realizar operações matemáticas de conjuntos, como união, interseção e diferença.
Vamos começar criando um conjunto. Você pode criar um conjunto usando chaves {} ou o construtor set().
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
sets_example.pyno diretório~/project.## Create a set using curly braces my_set = {1, 2, 3, 4, 5} print(my_set) ## Create a set using the set() constructor another_set = set([3, 4, 5, 6, 7]) print(another_set)Execute o script usando o comando
pythonno terminal:python ~/project/sets_example.pyVocê deve ver a seguinte saída:
{1, 2, 3, 4, 5} {3, 4, 5, 6, 7}
Agora, vamos explorar algumas operações comuns de conjuntos.
Adicione o seguinte código ao seu arquivo
sets_example.py:## Add an element to a set my_set.add(6) print(my_set) ## Remove an element from a set my_set.remove(1) print(my_set) ## Check if an element is in a set print(3 in my_set) print(1 in my_set)Execute o script novamente:
python ~/project/sets_example.pyVocê deve ver uma saída semelhante a esta:
{1, 2, 3, 4, 5, 6} {2, 3, 4, 5, 6} True False
Conjuntos são particularmente úteis para remover elementos duplicados de uma lista.
Adicione o seguinte código ao seu arquivo
sets_example.py:## Create a list with duplicate elements my_list = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] print(my_list) ## Convert the list to a set to remove duplicates unique_elements = set(my_list) print(unique_elements)Execute o script:
python ~/project/sets_example.pyA saída deve ser:
[1, 2, 2, 3, 3, 3, 4, 4, 4, 4] {1, 2, 3, 4}
Como você pode ver, o conjunto unique_elements contém apenas os elementos únicos da lista original.
Usando 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 ver como ela funciona com diferentes tipos de dados.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
type_example.pyno diretório~/project.## Check the type of an integer x = 10 print(type(x)) ## Check the type of a float y = 3.14 print(type(y)) ## Check the type of a string z = "Hello" print(type(z)) ## Check the type of a boolean a = True print(type(a)) ## Check the type of a list b = [1, 2, 3] print(type(b)) ## Check the type of a tuple c = (1, 2, 3) print(type(c)) ## Check the type of a set d = {1, 2, 3} print(type(d)) ## Check the type of a dictionary e = {"name": "Alice", "age": 30} print(type(e))Execute o script usando o comando
pythonno terminal:python ~/project/type_example.pyVocê deve ver a seguinte saída:
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'list'> <class 'tuple'> <class 'set'> <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, e <class 'str'> indica que a variável é uma string.
Compreender o tipo de dado de uma variável é importante porque determina quais operações você pode realizar nessa variável. Por exemplo, você pode realizar operações aritméticas em inteiros e floats, mas não em strings.
Vamos ver um exemplo de como a função type() pode ser usada para verificar se uma variável é de um tipo específico antes de realizar uma operação.
Adicione o seguinte código ao seu arquivo
type_example.py:## Check if a variable is an integer before adding 5 to it num = 10 if type(num) == int: result = num + 5 print(result) else: print("Variable is not an integer") ## Check if a variable is a string before concatenating it with another string text = "Hello" if type(text) == str: greeting = text + ", World!" print(greeting) else: print("Variable is not a string")Execute o script novamente:
python ~/project/type_example.pyVocê deve ver a seguinte saída:
15 Hello, World!
Neste exemplo, a função type() é usada para verificar se a variável num é um inteiro e a variável text é uma string antes de realizar as operações de adição e concatenação, respectivamente.
Confirmando 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 e recomendada de verificar tipos de dados em comparação com o uso de type().
A função isinstance() recebe dois argumentos: o objeto a ser verificado e a classe ou tipo a ser comparado. Ela retorna True se o objeto é uma instância da classe ou tipo especificado, e False caso contrário.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
isinstance_example.pyno diretório~/project.## Check if a variable is an integer x = 10 print(isinstance(x, int)) ## Check if a variable is a float y = 3.14 print(isinstance(y, float)) ## Check if a variable is a string z = "Hello" print(isinstance(z, str)) ## Check if a variable is a boolean a = True print(isinstance(a, bool)) ## Check if a variable is a list b = [1, 2, 3] print(isinstance(b, list)) ## Check if a variable is a tuple c = (1, 2, 3) print(isinstance(c, tuple)) ## Check if a variable is a set d = {1, 2, 3} print(isinstance(d, set)) ## Check if a variable is a dictionary e = {"name": "Alice", "age": 30} print(isinstance(e, dict))Execute o script usando o comando
pythonno terminal:python ~/project/isinstance_example.pyVocê deve ver a seguinte saída:
True True True True True True True True
Todas as variáveis são instâncias dos tipos que verificamos, então isinstance() retornou True em cada caso.
isinstance() é particularmente útil ao lidar com herança. Se uma classe herda de outra classe, um objeto da subclasse também é considerado uma instância da classe pai.
Adicione o seguinte código ao seu arquivo
isinstance_example.py:class Animal: pass class Dog(Animal): pass my_dog = Dog() ## Check if my_dog is an instance of Dog print(isinstance(my_dog, Dog)) ## Check if my_dog is an instance of Animal print(isinstance(my_dog, Animal))Execute o script novamente:
python ~/project/isinstance_example.pyVocê deve ver a seguinte saída:
True True
Neste exemplo, Dog herda de Animal. Portanto, my_dog é uma instância de Dog e Animal.
Usar isinstance() é geralmente preferível a type() porque ele lida corretamente com a herança e é mais flexível.
Resumo
Neste laboratório, você aprendeu sobre conjuntos (sets) em Python, que são coleções não ordenadas de elementos únicos. Você criou conjuntos usando chaves {} e o construtor set(), e realizou operações comuns em conjuntos, como adicionar e remover elementos.
Além disso, você explorou como os conjuntos podem ser usados para remover elementos duplicados de uma lista, convertendo a lista em um conjunto. Você também aprendeu como verificar a pertinência (membership) em um conjunto usando o operador in.



