python - generador de rendimiento y comparación de retorno

 

La iteración es una de las funciones más potentes de Python y una forma de acceder a los elementos de la colección.

Un iterador es un objeto que puede recordar la posición del recorrido.

Se accede al objeto iterador desde el primer elemento de la colección hasta que se accede a todos los elementos. El iterador solo puede avanzar sin retroceder.

Iterator tiene dos métodos básicos: iter ()  y  next () .

Los generadores son iteradores especiales.

def gen_yield ():
     para i en rango (1,10 ):
         para j en rango (1,10 ):
             rendimiento   i + j
             # devuelve i + j 

si  __name__ == ' __main__ ' : 
    aa = gen_yield ()
     print (aa. __siguiente__ ())
     print (aa. __siguiente__ ())
     print (aa. __siguiente__ ())
     print (aa. __siguiente__ ())
     print(aa. __siguiente__ ())
     print (aa. __siguiente__ ())

Tanto el rendimiento como el rendimiento tienen el efecto del valor de retorno, pero la diferencia es que el rendimiento recordará la posición de la iteración actual, y el rendimiento no

Si aún no puedes entender la diferencia entre los dos,

def test_yield ():
     para i en [1,2,3 ]:
         rendimiento i 

def test_return ():
     para i en [1,2,4 ]:
         devuelve i 

if  __name__ == ' __main__ ' : 
    test_yield_obj = test_yield ()
     print ( ' 这里 测试 yield ' )
     print (test_yield_obj. __Next__ ()) # 1
     print (test_yield_obj. __Next__ ()) # 2
     print(test_yield_obj. __next__ ()) # 3 

    print ( ' Aquí está el retorno de la prueba ' )
     print (test_return ()) # 1
     print (test_return ()) # 1
     print (test_return ()) # 1

 

Supongo que te gusta

Origin www.cnblogs.com/lutt/p/12723154.html
Recomendado
Clasificación