pe-python

Decorador (Decorator)

Referências

https://www.datacamp.com/tutorial/decorators-python

Iterador (Iterador)

Gerador (Generator)

Exercício

Refatorar um código que compara o tempo de execução entre listas Python e arrays NumPy, utilizando funções reutilizáveis e um decorator para medir o tempo de execução de forma mais organizada.

import numpy as np
import time

# Lista Python
lista = list(range(1_000_000))
start = time.time()
lista_resultado = [x * 2 for x in lista]
print("Tempo com lista:", time.time() - start)

# NumPy array
array = np.array(lista)
start = time.time()
array_resultado = array * 2
print("Tempo com NumPy:", time.time() - start)

1 - Crie um decorator chamado tempo que:

2 - Encapsule cada bloco de código (lista e NumPy) dentro de funções:

3 - Aplique o decorator @tempo a ambas as funções e as chame passando uma constante como argumento.