[Nota 21] práctica 2020Python gramática Python - Constructor

[Directorio]

A la generación y rendimiento

1. ¿Qué es el generador

2, ¿por qué tener un generador 

3, la forma de utilizar el generador

Dos, aplicaciones de expresión rendimiento

Tres, las expresiones ternarias, lista de fórmulas, la expresión generador

3.1 que tres expresiones

3.2 Lista de Fórmula

3.3 generador de expresión

 

Una unidad de generación (generador) y el rendimiento

1, la palabra clave de rendimiento

Con la palabra clave de rendimiento , tenemos un auto iterador definido por la implementación .

rendimiento se puede usar para devolver valores, pero a diferencia de la devolución, la función devolverá el final del evento , y el rendimiento puede mantener una función de estado de ejecución suspender función para devolver múltiples valores

 

2. ¿Cuál es el generador

 Si la función comprende la palabra clave de rendimiento y, a continuación llama a la función, el código no realiza la función de la misma, es decir, el objeto generador de valor de retorno obtuvo

Las castañas:

>>> def my_range (inicio, parada, paso = 1 ): 
...      print ( ' empezar ... ' ) 
...      mientras inicio < parada: 
...          rendimiento inicio 
... comenzar + = paso 
...      imprimir ( ' final ... ' ) 
...
 >>> g = my_range (0,3 )
 >>> g
 <generador my_range objeto en 0x104105678>

Generador construido __iter__ __next__ y métodos, por lo que el generador en sí es un iterador

>>> g. __iter__ 
<método de envoltura ' __iter__ ' de objeto generador en 0x1037d2af0> 
>>> g. __next__ 
<método de envoltura ' __next__ ' de objeto generador en 0x1037d2af0>

 

Así, podemos utilizar siguiente (generador) activar la ejecución del generador de función correspondiente a:

>>> siguiente (g) # función de disparo para ejecutar hasta que se encuentra la producción se detiene, el valor de retorno de rendimiento, y la función de suspensión en la ubicación actual 
de inicio ... 
0
 >>> siguiente (g) # llamada el siguiente (g nuevo ), la función continúa desde la última posición de pausa hasta el reencuentro ... producir 
1 
>>> la siguiente (G) # una y otra vez ... 
2 
>>> la siguiente (G) # gatillo de la función no hacen rendimiento de la experiencia tirado no se devuelve ningún valor, es decir, el valor final de la iteración se ha completado 
final ... 
de trazas (resultados más recientes Última llamada): 
  File " <stdin> " , línea 1, en <módulo> 
StopIteration

bucle for itera edición:

>>> para i en cuenta atrás (3 ): 
...      print (i) 
... 
inicio de cuenta regresiva
 3 
2 
1 
Listo!

 

3, ¿por qué tener un generador 

 

4, la forma de utilizar el generador

 

Dos, aplicaciones de expresión rendimiento

 

Tres, las expresiones ternarias, lista de fórmulas, la expresión generador

1, la expresión ternaria

 

2, una lista de fórmula

 

3, la expresión generador

 

Supongo que te gusta

Origin www.cnblogs.com/bigorangecc/p/12557917.html
Recomendado
Clasificación