Memahami Penjana dalam Python
Pengenalan kepada Penjana
Penjana dalam Python ialah fungsi unik yang mengembalikan objek boleh lelaran yang boleh dilangkah menggunakan kaedah next(). Tidak seperti fungsi biasa yang mengembalikan nilai tunggal, penjana menjeda pelaksanaan dan mengembalikan nilai setiap kali next() dipanggil.
Kesamaan dalam Java
Di Java, penjana melakukannya tidak mempunyai persamaan langsung. Walau bagaimanapun, mereka secara konsepnya serupa dengan iterator. Iterator juga menyediakan cara untuk melangkah melalui urutan nilai, tetapi mereka mengikuti pelaksanaan yang berbeza.
Faedah Menggunakan Penjana
Terdapat beberapa faedah menggunakan penjana:
Contoh Generator dalam Python
Mari kita pertimbangkan penjana ringkas myGen yang menghasilkan dua nilai, n dan n 1:
def myGen(n): yield n yield n + 1
Apabila anda memanggil myGen(6), ia mengembalikan objek lelaran g. Memanggil next(g) menghasilkan nilai pertama, 6. Panggilan seterusnya ke next(g) menghasilkan 7 dan kemudian menaikkan pengecualian StopIteration apabila semua nilai telah dijana.
Ungkapan Penjana
Ekspresi penjana menyediakan cara padat untuk mentakrifkan penjana:
g = (n for n in range(3, 5))
Ungkapan di atas menjana lelaran yang menghasilkan nilai 3 dan 4.
Kes Penggunaan untuk Penjana
Penjana mempunyai pelbagai aplikasi :
Dengan menerima penjana , anda boleh meningkatkan kebolehbacaan kod anda, kecekapan memori dan fleksibiliti dalam mengendalikan data urutan.
Atas ialah kandungan terperinci Apakah Penjana Python dan Bagaimana Ia Membandingkan dengan Java Iterator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!