¿Cuál es la diferencia entre la función normal y la función del generador?
Estoy tratando de entender la siguiente metodología,
In [26]: def generator():
....: print 'generator function hits'
....: for i in range(3):
....: yield i
....:
In [27]: def normal():
....: print 'normal function hits'
....: return range(3)
....:
In [28]: gen = generator()
In [29]: type(gen)
Out[29]: generator
In [30]: fun = normal()
normal function hits
In [31]: type(fun)
Out[31]: list
Aquí mi investigación del código anterior, 26 es elgenerator()
función y 27 es elnormal()
función, cuando he asignadogenerator()
función a la variable gen No he visto ningún mensaje de impresión comoGolpes de funciones del generador, Pero si he asignado elnormal()
función de diversión variable, he visto el mensaje de impresión comogolpes de función normal. Mi pregunta eswhy generator() function not hit ?