Generator Python — tulis kode yang sangat efisien!

Jan 19 2023
Generator Python adalah jenis fungsi khusus yang memungkinkan Anda mengulang urutan nilai, tanpa harus menyimpan seluruh urutan dalam memori. Mereka adalah alat yang ampuh untuk bekerja dengan kumpulan data besar atau untuk menghasilkan urutan nilai yang tak terbatas.

Generator Python adalah jenis fungsi khusus yang memungkinkan Anda mengulang urutan nilai, tanpa harus menyimpan seluruh urutan dalam memori. Mereka adalah alat yang ampuh untuk bekerja dengan kumpulan data besar atau untuk menghasilkan urutan nilai yang tak terbatas.

Apa yang berbeda dari fungsi normal?

Fungsi generator didefinisikan seperti fungsi normal, tetapi alih-alih menggunakan kata kunci kembali, ia menggunakan kata kunci hasil . Saat fungsi generator dipanggil, ia mengembalikan objek iterator, yang dapat digunakan untuk mengulang nilai yang dihasilkan oleh fungsi tersebut.

Mengapa menggunakan genset?

Salah satu keuntungan utama generator adalah hemat memori. Karena mereka hanya menghasilkan satu nilai pada satu waktu, mereka dapat menangani kumpulan data besar atau urutan tak terbatas tanpa menghabiskan banyak memori.

Keuntungan lain dari generator adalah mereka malas. Ini berarti bahwa mereka hanya menghasilkan nilai sesuai kebutuhan, daripada menghasilkan semua nilai di awal. Ini dapat berguna untuk bekerja dengan kumpulan data besar atau untuk menghasilkan urutan tak terbatas.

Oke..bagaimana cara menggunakannya?

Fungsi generator berikut menghasilkan deret Fibonacci:

def fibonacci():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

fib = fibonacci()
print(next(fib)) # 0
print(next(fib)) # 1
print(next(fib)) # 1
print(next(fib)) # 2

for number in fibonacci():
    if number > 100:
        break
    print(number)

Generator juga dapat digunakan dalam kombinasi dengan fitur Python lainnya, seperti pemahaman daftar atau modul itertools, untuk membuat kode yang kuat dan ekspresif. Anda bisa mencobanya sendiri!

Semoga sukses Shilo