Iterables, Iteradores, Generadores

Описание к видео Iterables, Iteradores, Generadores

https://github.com/JorgeCardona/skill...

Iterables
Las instancias de los objetos, contienen los métodos __getitem__() o __iter__().

Iteradores
Las instancias de los objetos, contienen el método __next__().

Generadores
usan YIELD vs RETURN.

def lista_valores_return(limite):

lista = []

for valor in limite:
lista.append(valor+1)

return lista

def lista_valores_generador(limite):

for valor in limite:
yield valor + 1

YIELD FROM vs CICLOS ANIDADOS

def lista_generador_for():

for lista in ['Jorge','Cardona']:
for subLista in lista:
yield subLista

def lista_generador():

for lista in ['Jorge','Cardona']:
yield from lista

Recuperar valores de un Iterador o un Generador
Los objetos Iterables y los Generadores, se pueden recorrer con el método __next__().
objeto_iterable.__next__()
objeto_generador.__next__()

Los objetos Iterables y los Generadores, se pueden recorrer con la función next().
next(objeto_iterable)
next(objeto_generador)

Enviar valores a un Generador
Los objetos Generadores, pueden recibir parametros recorrer con el método send().
objeto_generador.send([lista_de_parametros])

Crear Excepciones personalizadas a un Generador
Los objetos Generadores, pueden crear sus excepciones propias con el método throw().
objeto_generador.throw(ValueError("EL VALOR HA SUPERADO EL LIMITE PERMITIDO"))

Detener a un Generador
Los objetos Generadores, pueden detenerse con el método close().
objeto_generador.close()

Комментарии

Информация по комментариям в разработке