TOOGLE
yield in python - Back-End
from pprint import pprint

#normal way ********************

def ler_csv(nome_arquivo):
    with open(nome_arquivo, "r") as arquivo:
        return arquivo.readlines()
    
vendas = ler_csv("vendas.csv")
pprint(vendas)

#explicit way ********************

def ler_csv(nome_arquivo):
    linhas = []
    for linha in open(nome_arquivo, "r"):
        linhas.append(linha)
    return linhas
    
vendas = ler_csv("vendas.csv")
pprint(vendas)

#generator way *******************
#não crio lista, então nao armazeno na memória

def ler_csv(nome_arquivo):
    for linha in open(nome_arquivo, "r"):
        yield linha

    
vendas = ler_csv("vendas.csv")

for venda in vendas:
    pprint(venda)

#easier way ***********************

def ler_csv(nome_arquivo):
    yield from open(nome_arquivo, "r")
    
vendas = ler_csv("vendas.csv")

for venda in vendas:
    pprint(venda)