Contenido del Curso
Tutorial de Funciones en Python
Tutorial de Funciones en Python
Funciones Generadoras
Una función generadora es un tipo especial de función que utiliza la palabra clave yield
en lugar de return
para generar una secuencia de valores. Cuando se llama a una función generadora, devuelve un objeto iterador, que se puede iterar para recuperar valores uno a la vez.
La principal ventaja de las funciones generadoras es su eficiencia de memoria. Las funciones generadoras generan valores sobre la marcha a medida que se necesitan, en lugar de generar toda la secuencia de antemano. Esto las hace eficientes en memoria, especialmente cuando se trata de grandes conjuntos de datos o secuencias infinitas.
Veamos el ejemplo de un generador simple. Esta función es un generador que produce inicios de sesión uno por uno de la lista dada:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
El principio de un generador es que permite que los valores se devuelvan uno a la vez usando la palabra clave yield
, sin almacenarlos todos en memoria a la vez. En nuestro ejemplo, el generador unique_logins_from_list
itera a través de la lista de inicios de sesión, devolviendo cada uno en yield
y pausando en ese punto. Cuando se llama a next()
, el generador se reanuda desde donde se detuvo, generando valores de manera eficiente sin necesidad de almacenar toda la lista en memoria simultáneamente. Esto hace que los generadores sean particularmente útiles para manejar grandes conjuntos de datos o flujos de datos.
Swipe to show code editor
Crea un generador que genere identificadores únicos. Los identificadores pueden ser, por ejemplo, cadenas en el formato "ID_1"
, "ID_2"
, y así sucesivamente. Cada vez que llames a next()
, el generador debe devolver un nuevo identificador único.
¡Gracias por tus comentarios!
Funciones Generadoras
Una función generadora es un tipo especial de función que utiliza la palabra clave yield
en lugar de return
para generar una secuencia de valores. Cuando se llama a una función generadora, devuelve un objeto iterador, que se puede iterar para recuperar valores uno a la vez.
La principal ventaja de las funciones generadoras es su eficiencia de memoria. Las funciones generadoras generan valores sobre la marcha a medida que se necesitan, en lugar de generar toda la secuencia de antemano. Esto las hace eficientes en memoria, especialmente cuando se trata de grandes conjuntos de datos o secuencias infinitas.
Veamos el ejemplo de un generador simple. Esta función es un generador que produce inicios de sesión uno por uno de la lista dada:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
El principio de un generador es que permite que los valores se devuelvan uno a la vez usando la palabra clave yield
, sin almacenarlos todos en memoria a la vez. En nuestro ejemplo, el generador unique_logins_from_list
itera a través de la lista de inicios de sesión, devolviendo cada uno en yield
y pausando en ese punto. Cuando se llama a next()
, el generador se reanuda desde donde se detuvo, generando valores de manera eficiente sin necesidad de almacenar toda la lista en memoria simultáneamente. Esto hace que los generadores sean particularmente útiles para manejar grandes conjuntos de datos o flujos de datos.
Swipe to show code editor
Crea un generador que genere identificadores únicos. Los identificadores pueden ser, por ejemplo, cadenas en el formato "ID_1"
, "ID_2"
, y así sucesivamente. Cada vez que llames a next()
, el generador debe devolver un nuevo identificador único.
¡Gracias por tus comentarios!
Funciones Generadoras
Una función generadora es un tipo especial de función que utiliza la palabra clave yield
en lugar de return
para generar una secuencia de valores. Cuando se llama a una función generadora, devuelve un objeto iterador, que se puede iterar para recuperar valores uno a la vez.
La principal ventaja de las funciones generadoras es su eficiencia de memoria. Las funciones generadoras generan valores sobre la marcha a medida que se necesitan, en lugar de generar toda la secuencia de antemano. Esto las hace eficientes en memoria, especialmente cuando se trata de grandes conjuntos de datos o secuencias infinitas.
Veamos el ejemplo de un generador simple. Esta función es un generador que produce inicios de sesión uno por uno de la lista dada:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
El principio de un generador es que permite que los valores se devuelvan uno a la vez usando la palabra clave yield
, sin almacenarlos todos en memoria a la vez. En nuestro ejemplo, el generador unique_logins_from_list
itera a través de la lista de inicios de sesión, devolviendo cada uno en yield
y pausando en ese punto. Cuando se llama a next()
, el generador se reanuda desde donde se detuvo, generando valores de manera eficiente sin necesidad de almacenar toda la lista en memoria simultáneamente. Esto hace que los generadores sean particularmente útiles para manejar grandes conjuntos de datos o flujos de datos.
Swipe to show code editor
Crea un generador que genere identificadores únicos. Los identificadores pueden ser, por ejemplo, cadenas en el formato "ID_1"
, "ID_2"
, y así sucesivamente. Cada vez que llames a next()
, el generador debe devolver un nuevo identificador único.
¡Gracias por tus comentarios!
Una función generadora es un tipo especial de función que utiliza la palabra clave yield
en lugar de return
para generar una secuencia de valores. Cuando se llama a una función generadora, devuelve un objeto iterador, que se puede iterar para recuperar valores uno a la vez.
La principal ventaja de las funciones generadoras es su eficiencia de memoria. Las funciones generadoras generan valores sobre la marcha a medida que se necesitan, en lugar de generar toda la secuencia de antemano. Esto las hace eficientes en memoria, especialmente cuando se trata de grandes conjuntos de datos o secuencias infinitas.
Veamos el ejemplo de un generador simple. Esta función es un generador que produce inicios de sesión uno por uno de la lista dada:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
El principio de un generador es que permite que los valores se devuelvan uno a la vez usando la palabra clave yield
, sin almacenarlos todos en memoria a la vez. En nuestro ejemplo, el generador unique_logins_from_list
itera a través de la lista de inicios de sesión, devolviendo cada uno en yield
y pausando en ese punto. Cuando se llama a next()
, el generador se reanuda desde donde se detuvo, generando valores de manera eficiente sin necesidad de almacenar toda la lista en memoria simultáneamente. Esto hace que los generadores sean particularmente útiles para manejar grandes conjuntos de datos o flujos de datos.
Swipe to show code editor
Crea un generador que genere identificadores únicos. Los identificadores pueden ser, por ejemplo, cadenas en el formato "ID_1"
, "ID_2"
, y así sucesivamente. Cada vez que llames a next()
, el generador debe devolver un nuevo identificador único.