Python é uma das principais ferramentas no cinto de utilidades dos profissionais de dados. Graças a sua flexibilidade e poderosas bibliotecas, podemos usá-lo em todo o ecossistema atual de forma segura. Mas, quais elementos fundamentais dessa linguagem são importantes dominar?
• Estruturas de dados integradas: list, tuple, dictionary e set:
- Uma lista é uma coleção ordenada e mutável de itens.
- Os elementos em uma lista podem ser de diferentes tipos de dados, como inteiros, strings, outras listas, etc.
- Os elementos em uma lista são acessados por meio de índices.
- Sintaxe:
[item1, item2, item3, ...]
- Uma tupla é uma coleção ordenada e imutável de itens.
- Os elementos em uma tupla podem ser de diferentes tipos de dados, como inteiros, strings, outras tuplas, etc.
- Os elementos em uma tupla são acessados por meio de índices, assim como em uma lista.
- Sintaxe:
(item1, item2, item3, ...)
- Um dicionário é uma coleção não ordenada e mutável de itens, onde cada item é uma chave-valor.
- As chaves em um dicionário devem ser únicas e imutáveis (geralmente strings ou números).
- Os valores podem ser de qualquer tipo de dado.
- Os elementos em um dicionário são acessados por suas chaves, não por índices.
- Sintaxe:
{chave1: valor1, chave2: valor2, chave3: valor3, ...}
- Um set ou conjunto é uma coleção não ordenada e mutável de itens únicos (um elemento não pode se repetir).
- Os elementos em um conjunto não possuem índices e não há garantia de ordenação dos elementos.
- Conjuntos são usados principalmente para realizar operações de conjuntos, como união, interseção e diferença.
- Sintaxe:
{item1, item2, item3, ...}
- List Comprehension: Uma maneira concisa de criar listas em Python, permitindo a criação de uma lista com base em outra sequência de dados de forma simples e legível.
- Exemplo:
Dict Comprehension: Similar à list comprehension, mas usada para criar dicionários em Python.
• Filter, map, reduce
Filter: Filtra os elementos de uma sequência de dados com base em uma função de teste.
Exemplo:
Filtrar números pares de uma lista
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares) # Saída: [2, 4, 6, 8, 10]
Map: Aplica uma função a todos os itens de uma sequência.
Exemplo:
# Dobrar todos os números em uma lista
numeros = [1, 2, 3, 4, 5]
dobrados = list(map(lambda x: x * 2, numeros))
print(dobrados) # Saída: [2, 4, 6, 8, 10]
Reduce: Aplica repetidamente uma função aos elementos de uma sequência, até reduzir a sequência a um único valor.
Observação: reduce() não é mais uma função integrada em Python 3.x. Está disponível no módulo functools.
Exemplo:
from functools import reduce
# Somar todos os elementos de uma lista
numeros = [1, 2, 3, 4, 5]
soma = reduce(lambda x, y: x + y, numeros)
print(soma) # Saída: 15
Enumerate: Retorna uma tupla contendo um contador e o valor correspondente de uma sequência.
Exemplo:
# Enumerar os elementos de uma lista
lista = ['a', 'b', 'c']
for indice, valor in enumerate(lista):
print(indice, valor)
# Saída:
# 0 a
# 1 b
# 2 c
Generators: São funções que retornam um iterador que produz itens sob demanda, tornando a iteração eficiente em termos de memória.
Exemplo:
Gerador para números pares até um determinado limite
def numeros_pares(limite):
for i in range(limite):
if i % 2 == 0:
yield i
for numero in numeros_pares(10):
print(numero)
# Saída: # 0 # 2 # 4 # 6 # 8
Decorators: São funções que envolvem outras funções, permitindo adicionar funcionalidades a elas sem alterar seu código.
Exemplo:
# Decorator para medir o tempo de execução de uma função
import time
def calcular_tempo(funcao):
def wrapper(*args, **kwargs):
inicio = time.time()
resultado = funcao(*args, **kwargs)
fim = time.time()
print(f"A função {funcao.__name__} levou {fim - inicio} segundos para executar.")
return resultado
return wrapper
@calcular_tempo
def operacao_demorada():
# Simulando uma operação demorada
time.sleep(2)
return "Operação concluída"
print(operacao_demorada())
Data Class: Uma classe especializada introduzida no Python 3.7 para simplificar a criação de classes de dados simples e imutáveis.
Exemplo:
from dataclasses import dataclass
@dataclass
class Pessoa:
nome: str
idade: int
profissao: str
pessoa1 = Pessoa(“João”, 30, “Engenheiro”)
print(pessoa1) # Saída: Pessoa(nome=’João’, idade=30, profissao=’Engenheiro’)
Comments are closed