Pengenalan
Penjana, ciri berkuasa dalam Python, sering membingungkan pendatang baharu . Dengan memberikan pemahaman yang lebih mendalam tentang penjana, artikel ini bertujuan untuk menjelaskan kerumitannya.
Penjana: Analogi Java
Dalam Java, threading mengendalikan senario "Pengeluar/Pengguna" . Begitu juga, penjana Python memudahkan aliran data dalam corak pengeluar-pengguna.
Apakah itu Penjana?
Penjana ialah fungsi yang menghasilkan nilai secara berulang. Ia mengembalikan objek iterator yang boleh anda panggil seterusnya sehingga pengecualian StopIteration dinaikkan, menunjukkan penghujung nilai. Fungsi ini sentiasa bermula dari tempat ia berhenti selepas hasil terakhir.
Mengapa Menggunakan Penjana?
Sintaks Penjana
The kata kunci hasil mengubah fungsi menjadi penjana.
def myGen(): yield 1 yield 2
Contoh Penggunaan
# For loop for num in myGen(): print(num) # Using next g = myGen() print(next(g)) print(next(g))
Ungkapan Penjana
Serupa untuk menyenaraikan pemahaman, ungkapan penjana menyediakan cara yang padat untuk mentakrifkan penjana:
g = (x for x in range(10))
Mengembalikan Data ke dalam Penjana
Walaupun biasanya penjana menghasilkan nilai, mereka juga boleh menerima data melalui kaedah penghantaran. Walau bagaimanapun, konsep lanjutan ini paling baik diterokai sebaik sahaja asasnya difahami.
Kesimpulan
Penjana menawarkan banyak kelebihan, termasuk kod ringkas, kecekapan memori dan keupayaan untuk mengendalikan aliran data yang tidak terhingga. Dengan memahami sifat mereka, pengaturcara boleh memanfaatkannya dengan berkesan dalam pelbagai aplikasi.
Atas ialah kandungan terperinci Bagaimana Penjana Python Berfungsi, dan Mengapa Ia Berguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!