Iterator generador de protocolo y

1  # ¿Cuál es iterador protocolo 
2  #    1 se refiere al protocolo iterador: siguiente objeto debe proporcionar un método, el método se realiza o bien devuelve la siguiente iteración, o para causar una excepción stoplteration, 
3  # para terminar iteración (sólo puede ir hacia atrás, no hacia adelante hacia atrás) 
4  #    2 iterables: iterador objeto que implementa el protocolo (Cómo definir un objetivo dentro de la __iter __ () método) 
5  #    3 protocolo es una convención, puede iterativo iterador implementos objeto del protocolo, herramienta interna pitón (por ejemplo, un bucle, sum, min, max funciones, etc.) para acceder al objeto usando el protocolo iterador 
6  #
 . 7  
. 8  
. 9  # ¿Cuál es generador? 
10  # puede ser entendido como un tipo de datos, ese tipo de datos automáticamente protocolo iterativo (otros tipos de datos necesita llamar a su propio integrado en __iter__ método), por lo que el generador es iterables 
11  #
 12  # Constructor formulario de clasificación y realización en Python: (generadores de Python han proporcionado diferentes maneras) 
13  # 1. 
14  #Generador de funciones: definir la función general, pero en lugar de utilizar los resultados de rendimiento de retorno declaración de retorno comunicado. una declaración sentencia yield devuelve un resultado, 
15  # en el medio de cada resultado, el estado pendiente de la función, por lo que las próximas hojas de vida en que se detuvo. 
16  # expresiones generador: Similar a derivar una lista, sin embargo, devuelve un objeto para generar demanda producir un resultado, en lugar de una lista de resultados una vez construido 
. 17  
18 es  # # iteradores 
. 19  # L = [ 'WO', 'Erzi '' Sunzi '' chongsunzi '] 
20 es  # iter_l = L .__ ITER __ () 
21 es  # impresión (iter_l .__ Siguiente __ ()) 
22 es  # impresión (iter_l .__ Siguiente __ ()) 
23 es  # impresión (iter_l .__ Siguiente __ ()) 
24  # impresión (iter_l .__ Siguiente __ ()) 
25  # impresión (iter_l .__ Siguiente __ ()) #StopIteration 
26 es  
27  
28  #En el generador ### de forma automática iteración protocolo 
29  
30  # forma funcional 
31 es  
32  # texto DEF (): 
33 es  #      el rendimiento 1. 
34 es  #      el rendimiento 2 
35  #      el rendimiento 3. 
36  
37 [  # G = texto () 
38 es  # impresión (G) 
39  # G .__ Siguiente __ () 
40  
41 es  # impresión (G .__ Siguiente __ ()) 
42 es  # impresión (G .__ Siguiente __ ()) 
43 es  # impresión (G .__ Siguiente __ ())

expresiones ternarios con una lista por comprensión

# # Ternario con expresiones 

# name = 'yuanha' 
# RES = 'SB' si el nombre == 'Yuanhao' la cosa 'Zhizhang' 
# impresión (RES) 

# ## analítica lista 

# egg_list = [] 
# for i in range ( 12 es): 
#      egg_list.append ( 'huevo% s' % I) 
# impresión (egg_list) 
# 
# L = [I for i in range (18 es)] 
# impresión (L) 
# 
# L = [ 'huevos% s' yo por I en el rango de% (18 es)] 
# de impresión (L) 
# 
# L = [ 'huevos% s' % i para i en rango (18) si i> 6] ## un triplete de expresiones 
# de impresión (L) 


#yuanhaoziadan = ( 'hijo% s' % i para i en el rango (10)) # expresión generadora ahorrar más de memoria 
# impresión (yuanhaoziadan .__ Siguiente __ ()) 
# impresión (yuanhaoziadan .__ Siguiente __ ()) 


# impresión (SUMA (( i ** 2 para i en el rango de ( 2))))

 función de generación

1  # ##生成器函数
2  
3  # tiempo de importación 
4  # texto def (): 
5  #      rendimiento 1 
6  #      rendimiento 2 
7  # res = texto () 
8  # de impresión (res .__ próximos __ ()) 
9  # de impresión (res. __next __ ()) 
10  
11  # def baozi (): 
12  #      res = [] 
13  #      para i en el rango de (10): 
14  #          res.append ( '包子% s' % i) 
15  #      res de retorno 
16  # baozi_list = baozi ()
. 17  # de impresión (baozi_list) 
18 es  
19.  # DEF Baozi (): 
20 es  #     para I en el rango de (10): 
21 es  #         impresión ( 'cocción') 
22 es  #         el rendimiento 'deliciosos bollos S%' % I 
23 es  #         impresión ( 'vender bollos') 
24  # A = Baozi () 
25  # B = A .__ Siguiente __ () 
26 es  # ## añadiendo el código 
27  # B = A .__ Siguiente __ () 
28  
29  
30  # Baozi = ( 'bollo% s' % i (. 7) que en el área de distribución) 
31 es  # impresión (Baozi .__ Siguiente __ ()) 
32  
33 es  # DEF xiadan ():
34  #      para i en el rango (1000): 
35  #          rendimiento '鸡蛋% s' % i 
36  #
 37  # alex = xiadan () 
38  #
 39  # jidan = Alex .__ siguiente __ () 
40  # jidan = Alex .__ siguiente __ () 
41  # jidan = Alex .__ siguiente __ () 
42  # jidan = Alex .__ siguiente __ () 
43  # jidan = Alex .__ siguiente __ () 
44  # jidan = Alex .__ siguiente __ () 
45  #
 46  #
 47  # de impresión (jidan) 
48  
49  #Constructor no guarda los resultados en una serie, pero guarda en la generadora estatal, volvió cada vez que la iteración de un valor hasta el final de la anomalía encontrada StopIteration 
50  # Builder es una función que recuerda la una posición de retorno cuando el cuerpo de la función. El segundo (o enésima) en la función de generador llama a la función de salto a la intermedia, 
51  # todas las variables locales no han cambiado desde la última llamada. 
52  # para generar no sólo "recordar" sus datos de estado; generador también "recuerda" su posición en la estructura de control de flujo (en la programación imperativo, esta configuración no es sólo los valores de datos) en el.

 

Supongo que te gusta

Origin www.cnblogs.com/luoluokang/p/12536409.html
Recomendado
Clasificación