Last Updated on September 16, 2021 by
Generator adalah salah satu fungsi yang paling banyak digunakan oleh para developer Python. Artikel Codekey kali ini akan membahas tentang generators Python. Generator sangat mudah diimplementasikan, tetapi agak sulit untuk dipahami.
Oleh karena itu sangat penting bagi Anda memahami generators Python hingga ke setiap detilnya. Jika Anda tertarik untuk tahu tentang python generators, simak terus artikel berikut ini.
Python Generators
Fungsi generator didefinisikan seperti fungsi normal, tetapi setiap kali perlu menghasilkan nilai, ia melakukannya dengan kata kunci hasil daripada kembali. Jika def body berisi hasil, fungsi tersebut secara otomatis menjadi fungsi generator.
Generator digunakan untuk membuat iterator, tetapi dengan pendekatan yang berbeda. Generator adalah fungsi sederhana yang mengembalikan set item yang dapat diubah, satu per satu, dengan cara khusus.
Ketika sebuah iterasi pada satu set item mulai menggunakan pernyataan for, generator pun akan dijalankan. Setelah kode fungsi generator mencapai pernyataan “hasil”, generator menghasilkan eksekusinya kembali ke loop for, mengembalikan nilai baru dari set.
Fungsi generator dapat menghasilkan sebanyak mungkin nilai (mungkin tak terbatas) seperti yang diinginkan, menghasilkan masing-masing nilai pada gilirannya.
Berikut adalah contoh sederhana dari fungsi generator yang mengembalikan 7 bilangan bulat acak:
import random def lottery(): # memunculkan iterasi sebanyak 6 dengan range random 1-40 for i in range(6): yield random.randint(1, 40) # menambahkan item ke tujuh dengan range random 1-15 yield random.randint(1,15) for random_number in lottery(): print("Nomor yang akan keluar adalah ... %d!" %(random_number))
Fungsi ini dapat memutuskan bagaimana menghasilkan angka acak sendiri, dan mengeksekusi pernyataan hasil satu per satu. Kemudian, ia akan berhenti di antara untuk menghasilkan eksekusi kembali ke loop for utama.
Latihan Membuat Python Generators
Tulis fungsi Python generators yang mengembalikan deret Fibonacci. Mereka dihitung menggunakan rumus berikut:
a = 1 b = 2 a, b = b, a print(a,b)
- Dua angka pertama dari deret selalu sama dengan 1, dan setiap angka berurutan yang dikembalikan adalah jumlah dari dua angka terakhir.
- Bisakah Anda menggunakan hanya dua variabel dalam fungsi Python generator? Ingatlah bahwa tugas dapat dilakukan secara bersamaan.
- Kodenya adalah sebagai berikut: secara bersamaan akan menukar nilai a dan b.
# diisi function berikut def fib(): pass #ini null statement, ketika program di eksekusi maka program ini tidak akan berdampak # testing code import types if type(fib()) == types.GeneratorType: print("fib function sekarang adalah Generators") counter = 0 for n in fib(): print(n) counter += 1 if counter == 10: break
Itulah penjelasan tentang generators in Python. Penerapan generator pada Python memang cukup sulit, namun akan lebih mudah jika Anda terus berlatih terus menerus. Jika Anda tertarik untuk tahu tentang berbagai bahasa pemrograman yang ada, kunjungilah Codekey.
Situs codekey menyediakan pembahasan, materi, tutorial, tips dan trik untuk Anda belajar bahasa pemrograman. Jangan lupa untuk dapatkan update terbaru seputar dunia coding dan Bahasa pemrograman dari situs Codekey.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.