Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Return y yield
#1
¿Alguien podría explicarme de manera sencilla return y yield? Gracias
Responder
#2
(24-08-2018, 03:01 PM)Sergiolocuelo escribió: ¿Alguien podría explicarme de manera sencilla return y yield? Gracias

A simple vista, return y yield hacen lo mismo, retornar valores.
Pero la diferencia entre yield y return, es que yield no detiene la función, al contrario que hace return.
Esto puede ser útiles para los generadores.
Ej: generar números aleatorios.

Código:
  1. def drawbox():  # generate random objects
  2.    for xi in range(2, 54):
  3.        x.append(xi)
  4.        for yi in range(2, 24):
  5.            y.append(yi)
  6.            random.seed(time.time())
  7.            epochext = time.time()
  8.  
  9.            xrand = random.choice(x)
  10.            yrand = random.choice(y)
  11.  
  12.            yield xrand, yrand
El código anterior genera coordenas aleatorias, usando yield. Si usara return, la función detendría su ejecución y retornaría un solo valor.
Saludos
PD: El código GeShi del foro se bugeo y coloca ; envés de espacios
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)