yield

yield zamienia funkcję w generator: oddaje jedną wartość, pauzuje i wraca, gdy znów poproszą.

Składnia

def path():
yield (0, 0)
yield (1, 0)
  • for x in path(): prosi o każde yield. list(path()) zbiera je wszystkie.

Przykład

def count():
    yield 1
    yield 2

print(list(count()))

Wynik:

[1, 2]

Typowe błędy

  • return kończy funkcję od razu, więc drugi return nigdy nie zadziała. Użyj yield, żeby wysłać więcej niż jedną wartość.

Ćwicz to