Rumah > Artikel > pembangunan bahagian belakang > Apakah senario yang boleh digunakan untuk iterator dan penjana dalam Python?
Apakah senario yang berkenaan untuk iterator dan penjana dalam Python?
Iterator dan penjana ialah alat pengaturcaraan yang berkuasa dalam Python yang boleh memberikan penyelesaian yang cekap apabila memproses sejumlah besar data atau memerlukan pengiraan yang malas. Artikel ini akan memperkenalkan konsep iterator dan penjana, serta memberikan beberapa senario aplikasi dan contoh kod khusus.
1. Iterator
Interator ialah objek yang boleh dipanggil masa tanpa had untuk mendapatkan nilai seterusnya dengan menggunakan fungsi next(). Ciri iterator ialah mereka hanya mempunyai satu arah, iaitu dari depan ke belakang, dan tidak boleh diakses secara terbalik. Penggunaan iterator dengan cekap boleh melintasi pengumpulan data yang besar tanpa menduduki sejumlah besar memori.
Senario aplikasi:
Contoh kod:
kelas FibonacciIterator:
def __init__(self): self.a, self.b = 0, 1 def __iter__(self): return self def __next__(self): self.a, self.b = self.b, self.a + self.b return self.a
FibonacciIterator:
print(next(fib))Gunakan iterator untuk mengeluarkan 10 nombor pertama Fibonacci sequence
untuk i dalam julat(10):
a, b = 0, 1 while True: yield a a, b = b, a + b2. Penjana
Penjana ialah lelaran khas yang boleh ditakrifkan melalui pernyataan hasil. Tidak seperti iterator, penjana boleh menjana nilai secara dinamik apabila diperlukan, dan nilai ini boleh diakses secara berulang. Penggunaan penjana boleh memudahkan struktur kod dan mengurangkan penggunaan memori.
Penjana melaksanakan jujukan Fibonacci
print(next(fib_gen))
Gunakan penjana untuk mengeluarkan 10 nombor pertama bagi jujukan Fibonacci
rrreee
Ringkasan:
Atas ialah kandungan terperinci Apakah senario yang boleh digunakan untuk iterator dan penjana dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!