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:

  1. 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, ...]
  2. 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, ...)
  3. 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, ...}
  4. 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’)

Categories:

Comments are closed