Generator/Yield pada Python

Pada Python dikenal Generator / Yield sebagai Object yang digunakan untuk mengambil data pada variable yang didefinisikan. Berbeda dengan keyword “return”, yield dapat mengambil nilai variable yang sedang di proses.

Sebagai contoh sederhana saya buat satu kode untuk menunjukan penggunaan Yield pada python.

def loop_angka():
  MAX = 100
  while n < 100:
    yield n
    n += 1

angka = loop_angka(0)
angka.next() # mengeluarkan 0
angka.next() # mengeluarkan 1
angka.next() # mengeluarkan 2
# dan seterusnya.

Terlihat perbedaannya ya ketika kita menggunakan keyword “return” dengan “yield”. Nilai akan terus dipanggil dengan fungsi next() sampai batas angka 100. Berbeda dengan return yang hanya mengeluarkan nilai ketika fungsi tersebut kita panggil.

Dengan Generator / Yield, fungsi sekali kita panggil namun nilainya bisa kita panggil tanpa memanggil fungsi yang didefinisikan.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: