Generator
Pahami generator dan penggunaannya untuk membuat iterator.
Generator adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.
Pengenalan Pembangkit
Pengenalan Pembangkit
Pembangkit adalah jenis khusus pengiterasi di Python yang memungkinkan Anda melakukan iterasi pada data secara tertunda. Alih-alih mengembalikan semua data sekaligus, pembangkit menghasilkan satu elemen setiap kali, sehingga penggunaan memorinya lebih hemat.
Dalam pelajaran ini, Anda akan mempelajari cara membuat dan menggunakan pembangkit di Python.

Apa Itu Pembangkit?
Apa Itu Pembangkit?
Pembangkit adalah fungsi yang menggunakan kata kunci yield untuk mengembalikan nilai satu per satu. Setiap pemanggilan metode next() pada pembangkit melanjutkan eksekusi dari tempat terakhir pembangkit menghasilkan nilai.
# Basic generator example
def my_generator():
yield 1
yield 2
yield 3
# Using the generator
gen = my_generator()
print(next(gen)) # Outputs: 1
print(next(gen)) # Outputs: 2
print(next(gen)) # Outputs: 3Cara Kerja Pembangkit
Cara Kerja Pembangkit
Pembangkit menyimpan keadaan fungsi sehingga dapat melanjutkan eksekusi tepat dari tempat terakhirnya berhenti. Hal ini membuatnya hemat memori dan ideal untuk kumpulan data besar.
# Example: Generating a range of numbers
def range_generator(start, end):
while start < end:
yield start
start += 1
for number in range_generator(1, 5):
print(number) # Outputs: 1, 2, 3, 4Ekspresi Pembangkit
Ekspresi Pembangkit
Ekspresi pembangkit mirip dengan ekspresi pembentuk daftar, tetapi menggunakan tanda kurung biasa, bukan tanda kurung siku. Ekspresi ini membuat pembangkit, bukan daftar.
# Generator expression
gen_exp = (x * x for x in range(5))
for value in gen_exp:
print(value) # Outputs: 0, 1, 4, 9, 16Pembangkit vs. Daftar
Pembangkit vs. Daftar
Pembangkit lebih hemat memori daripada daftar karena tidak menyimpan semua data di memori. Sebaliknya, pembangkit menghasilkan data saat dibutuhkan.
# Comparing lists and generators
# List comprehension
list_comp = [x * x for x in range(1000000)]
# Generator expression
gen_exp = (x * x for x in range(1000000))
# List comprehension uses more memory
print(type(list_comp)) # Outputs: <class 'list'>
print(type(gen_exp)) # Outputs: <class 'generator'>Kasus Penggunaan Pembangkit
Kasus Penggunaan Pembangkit
Pembangkit ideal untuk:
- Memproses kumpulan data besar yang tidak dapat dimuat ke memori.
- Menghasilkan urutan tak berhingga.
- Melakukan evaluasi data secara tertunda.
Pembangkit Tak Berhingga
Pembangkit Tak Berhingga
Pembangkit dapat menghasilkan urutan tak berhingga, seperti urutan angka tanpa akhir. Pastikan Anda menghentikan perulangan untuk mencegah eksekusi tanpa akhir.
# Infinite generator example
def infinite_sequence():
num = 0
while True:
yield num
num += 1
# Using the infinite generator
for i in infinite_sequence():
if i > 5:
break
print(i) # Outputs: 0, 1, 2, 3, 4, 5Fungsi Pembangkit dengan Banyak Yield
Fungsi Pembangkit dengan Banyak Yield
Fungsi pembangkit dapat memiliki beberapa pernyataan yield, sehingga Anda dapat membuat urutan yang kompleks:
# Multiple yields in a generator
def multi_yield():
yield "First"
yield "Second"
yield "Third"
for value in multi_yield():
print(value) # Outputs: First, Second, ThirdKesalahan Umum dalam Penggunaan Pembangkit
Kesalahan Umum dalam Penggunaan Pembangkit
Berikut beberapa kesalahan yang perlu dihindari:
- Menggunakan
return, bukanyield, dalam fungsi pembangkit. - Tidak menggunakan pembangkit dengan perulangan atau
next()untuk mengambil elemennya. - Menggunakan pembangkit untuk kumpulan data kecil, padahal daftar lebih sesuai.
Apa yang Telah Kita Pelajari?
Apa yang Telah Kita Pelajari?
Dalam pelajaran ini, Anda telah mempelajari:
- Apa itu pembangkit dan cara kerjanya di Python.
- Cara menggunakan
yielduntuk membuat fungsi pembangkit. - Perbedaan antara pembangkit dan daftar.
- Kasus penggunaan pembangkit, seperti urutan tak berhingga dan kumpulan data besar.
Bagus sekali! Mari kita beralih ke topik berikutnya.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Generator” gratis?
Ya — teks lengkap “Generator” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Generator”?
Pahami generator dan penggunaannya untuk membuat iterator. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 5.
Berapa lama pelajaran “Generator” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dekorator
- Generator
- Pengelola Konteks (Pernyataan with)
- Pemahaman (Daftar, Himpunan, dan Kamus)
- Iterator dan Iterable