Pernyataan hasil digunakan untuk mendefinisikan generator dengan Python. Jadi sebelum kita masuk ke dalam apa yang sebenarnya dihasilkan, kita harus memahami konsep generator terlebih dahulu. Generator memiliki peran penting dalam Python dan jika Anda terlibat dalam pemrograman Python, maka kemungkinan Anda telah bekerja dengan generator Python. Generator digunakan untuk membuat iterator dengan Python, tetapi dengan pendekatan yang berbeda.
Generator Python adalah fungsi yang menghasilkan urutan hasil dan dapat dijeda dan dilanjutkan secara dinamis. Generator pertama kali ditambahkan sebagai fitur opsional dalam Python 2.2 dan dibuat standar dalam Python 2.3. Meskipun, mereka cukup kuat, fungsi generator ditingkatkan secara signifikan dengan Python 2.5.
Ketika generator ditambahkan kembali di Python 2.2, itu memperkenalkan kata kunci baru "hasil" untuk kompatibilitas mundur, yang kami butuhkan untuk mengimpor generator dari modul _future_ untuk menggunakannya. Ini diubah dalam versi Python 2.3 ketika generator menjadi standar dan itu tidak lagi diperlukan.
Pernyataan hasil menunda penangguhan fungsi dan mengirim nilai kembali ke pemanggil, sementara menyimpan keadaan dan kemudian melanjutkan berarti seluruh generator itu sendiri masih dapat dilanjutkan setelah nilai kembali diperoleh. Pernyataan pengembalian mengakhiri eksekusi fungsi dan mengirimkan nilai kembali ke pemanggil. Tanpanya, fungsi Anda tidak menghasilkan apa-apa. Mari kita perhatikan kapan harus menggunakan hasil dan kapan harus menggunakan kembali dengan Python untuk lebih memahami perbedaan antara keduanya.
Pernyataan hasil digunakan dalam generator Python untuk menggantikan pengembalian fungsi untuk mengirim nilai kembali ke pemanggilnya tanpa merusak variabel lokal. Untuk lebih memahami apa peran pernyataan hasil bermain dalam pemrograman Python, Anda harus memahami apa itu generator.
Fungsi generator diproduksi dengan definisi seperti fungsi biasa tetapi berisi pernyataan "hasil". Ini dimulai dengan kata kunci "hasil" yang menentukan objek generator untuk dikembalikan ke pemanggil. Generator adalah fungsi khusus dalam Python yang mengembalikan objek generator ke pemanggil daripada nilai data. Kata kunci hasil memiliki kemampuan unik untuk menghentikan eksekusi fungsi, menyimpan kondisi, dan melanjutkan kembali.
Pernyataan pengembalian, tidak seperti pernyataan hasil, keluar dari suatu fungsi, mengembalikan nilai kepada peneleponnya. Fungsi mengembalikan nilai kembali ke penelepon mereka dan mereka yang lebih bersifat prosedural tidak secara eksplisit mengembalikan apa pun. Sementara suatu fungsi dapat memiliki beberapa pernyataan pengembalian, hanya satu yang dapat dipanggil untuk setiap pemanggilan fungsi yang diberikan.
Biasanya, pernyataan kembali muncul di akhir blok fungsi untuk mengembalikan hasil akhir dari mengeksekusi semua pernyataan yang terkandung dalam fungsi itu. Namun, itu mungkin juga muncul sebelumnya di blok fungsi untuk menghentikan eksekusi semua pernyataan berikutnya di blok itu. Ini segera melanjutkan eksekusi program di pemanggil. Ketika tidak ada nilai yang ditentukan, jenis objek pengembalian setara dengan Python adalah "Tidak Ada".
Secara sintaksis, hasil adalah kata kunci yang dapat digunakan seperti kata kunci kembali, kecuali pernyataan balik mengakhiri eksekusi fungsi Anda dan mengirimkan kembali nilai ke pemanggilnya. Fungsionalitas pernyataan pengembalian adalah untuk mengambil input dan mengembalikan sesuatu ke pemanggil. Tidak seperti pengembalian, pernyataan hasil secara eksplisit digunakan untuk mendefinisikan generator, menggantikan nilai kembali fungsi untuk menunda eksekusi menjaga variabel lokal tetap utuh, sedangkan pernyataan pengembalian menghancurkan semua variabel lokal dalam.