0Pricing
Learn AI with Python · Pelajaran

Generator

Pahami generator dan penggunaannya untuk membuat iterator

Generator adalah pelajaran Learn AI with Python 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 5 pelajaran total.

Pengantar Generator

Pengantar Generator

Generator adalah jenis khusus pengiterasi di Python yang memungkinkan Anda melakukan iterasi pada data secara tertunda. Alih-alih mengembalikan semua data sekaligus, generator menghasilkan satu elemen setiap kali, sehingga hemat memori.

Dalam pelajaran ini, Anda akan mempelajari cara membuat dan menggunakan generator di Python.

Generator — ilustrasi 1

Apa Itu Generator?

Apa Itu Generator?

Generator adalah fungsi yang menggunakan kata kunci yield untuk mengembalikan nilai satu per satu. Setiap pemanggilan metode next() pada generator melanjutkan eksekusi dari tempat terakhir kali generator tersebut 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: 3

Cara Kerja Generator

Cara Kerja Generator

Generator menyimpan status fungsi sehingga dapat melanjutkan eksekusi tepat dari posisi terakhir. Hal ini membuatnya hemat memori dan ideal untuk kumpulan data berukuran 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, 4

Ekspresi Generator

Ekspresi Generator

Ekspresi generator mirip dengan pemahaman list, tetapi menggunakan tanda kurung, bukan tanda kurung siku. Ekspresi tersebut membuat generator, bukan list.

# Generator expression
gen_exp = (x * x for x in range(5))

for value in gen_exp:
    print(value)  # Outputs: 0, 1, 4, 9, 16

Generator vs. Daftar

Generator vs. Daftar

Generator lebih hemat memori daripada daftar karena tidak menyimpan semua data di memori. Sebaliknya, generator menghasilkan data secara langsung.

# 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 Generator

Kasus Penggunaan Generator

Generator ideal untuk:

  • Memproses kumpulan data besar yang tidak muat dalam memori.
  • Menghasilkan urutan tak terbatas.
  • Melakukan evaluasi data secara tertunda.

Generator Tak Terbatas

Generator Tak Terbatas

Generator dapat menghasilkan urutan tak terbatas, seperti urutan angka tanpa akhir. Pastikan untuk menghentikan perulangan agar eksekusi tak terbatas dapat dicegah.

# 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, 5

Fungsi Generator dengan Beberapa Yield

Fungsi Generator dengan Beberapa Yield

Fungsi generator 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, Third

Kesalahan Umum pada Generator

Kesalahan Umum pada Generator

Berikut beberapa kesalahan yang perlu dihindari:

  • Menggunakan return, bukan yield, dalam fungsi generator.
  • Tidak menggunakan generator sampai habis dengan perulangan atau next().
  • Menggunakan generator untuk kumpulan data kecil yang lebih sesuai ditangani dengan daftar.

Apa yang Telah Kita Pelajari?

Apa yang Telah Kita Pelajari?

Dalam pelajaran ini, Anda telah mempelajari:

  • Apa itu pembangkit dan cara kerjanya dalam Python.
  • Cara menggunakan yield untuk membuat fungsi pembangkit.
  • Perbedaan antara pembangkit dan daftar.
  • Kasus penggunaan pembangkit, seperti urutan tak terbatas dan kumpulan data besar.

Bagus sekali! Mari kita lanjutkan ke topik berikutnya.

Generator — ilustrasi 11

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 Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 5 pelajaran total.

Apa yang akan aku pelajari di “Generator”?

Pahami generator dan penggunaannya untuk membuat iterator Kamu berlatih Learn AI with Python 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 Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python 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

  1. Dekorator
  2. Generator
  3. Pengelola Konteks (Pernyataan with)
  4. Pemahaman (List, Set, dan Dictionary)
  5. Iterator dan Iterable
← Kembali ke Learn AI with Python