Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah Yang Dilakukan Kata Kunci `hasil` Python dan Bagaimana Penjana Digunakan?

Apakah Yang Dilakukan Kata Kunci `hasil` Python dan Bagaimana Penjana Digunakan?

Mary-Kate Olsen
Lepaskan: 2024-12-22 17:11:11
asal
594 orang telah melayarinya

What Does Python's `yield` Keyword Do and How Are Generators Used?

Apakah yang "hasil" Lakukan dalam Python?

"hasil" ialah kata kunci unik dalam Python yang membolehkan anda mencipta penjana, yang merupakan jenis khusus boleh lelar. Iterables mewakili jujukan nilai yang boleh anda ulangi, seperti senarai dan rentetan. Walau bagaimanapun, penjana berbeza daripada ini dengan tidak menyimpan semua nilai dalam ingatan. Sebaliknya, mereka menghasilkan nilai dengan pantas, satu demi satu.

Untuk memahami penjana, adalah berguna untuk bermula dengan iterables. Iterables ialah objek yang melaksanakan kaedah __iter__(), membolehkan anda mendapatkan semula objek iterator melalui fungsi iter(). Iterator melaksanakan kaedah __next__(), yang mengembalikan item seterusnya dalam jujukan dan menimbulkan pengecualian StopIteration apabila tiada lagi item yang tinggal.

Penjana dan Peranan "hasil"

Penjana ialah sejenis lelaran yang dibuat menggunakan kata kunci "hasil". Penjana adalah unik kerana ia menjeda pelaksanaan pada setiap pernyataan "hasil", membolehkan anda mendapatkan semula satu nilai pada satu masa. Apabila anda menggunakan penjana, ia menyambung semula pelaksanaan dari titik di mana ia dijeda, menjana nilai seterusnya. Proses ini berterusan sehingga penjana telah menghabiskan semua nilainya, pada ketika itu ia menimbulkan pengecualian StopIteration.

Cara Menggunakan Penjana

Untuk menggunakan penjana, anda mencipta fungsi penjana yang mengandungi satu atau lebih banyak kenyataan "hasil". Fungsi ini mengembalikan objek penjana, yang boleh diulang menggunakan gelung "untuk".

Berikut ialah contoh:

def generate_numbers():
    for i in range(5):
        yield i
Salin selepas log masuk

Dalam contoh ini, generate_numbers() ialah fungsi penjana yang berulang ke atas nombor dari 0 hingga 4 dan menghasilkan setiap nilai. Untuk menggunakan penjana ini, anda boleh mengulanginya menggunakan gelung "untuk":

for number in generate_numbers():
    print(number)
Salin selepas log masuk

Kod ini akan mencetak nombor dari 0 hingga 4.

Kelebihan Penjana

Penjana menawarkan beberapa kelebihan berbanding iterabel tradisional:

  • Memori kecekapan: Penjana tidak menyimpan semua nilai dalam ingatan secara serentak, tidak seperti iterables. Ini menjadikannya sesuai untuk menjana jujukan besar atau jujukan yang saiznya tidak diketahui terlebih dahulu.
  • Penilaian malas: Penjana hanya menjana nilai apabila ia diperlukan, menjimatkan masa dan sumber pengiraan.
  • Fleksibiliti: Penjana boleh digunakan semula beberapa kali tanpa perlu memulakannya semula, menjadikannya mudah untuk membuat saluran paip dan operasi kompleks yang lain.

Kesimpulan

"hasil" ialah kata kunci yang berkuasa dalam Python yang membolehkan anda mencipta penjana, jenis unik lelaran yang menjana nilai atas permintaan. Penjana menawarkan kelebihan seperti kecekapan memori, penilaian malas dan fleksibiliti, menjadikannya alat yang berharga dalam pelbagai senario pengaturcaraan.

Atas ialah kandungan terperinci Apakah Yang Dilakukan Kata Kunci `hasil` Python dan Bagaimana Penjana Digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan