Kenyataan hasil digunakan untuk menentukan penjana dalam Python. Jadi, sebelum kita mencapai apa sebenarnya hasil, kita perlu memahami konsep penjana terlebih dahulu. Penjana mempunyai peranan yang penting dalam Python dan jika anda dalam pengaturcaraan Python, kemungkinan besar anda telah bekerja dengan penjana Python. Penjana digunakan untuk membuat iterator dalam Python, tetapi dengan pendekatan yang berbeza.
Penjana Python adalah fungsi yang menghasilkan turutan hasil dan boleh dijeda dan disambung semula secara dinamik. Penjana pertama kali ditambah sebagai ciri pilihan dalam Python 2.2 dan dibuat standard dalam Python 2.3. Walaupun, mereka cukup kuat, fungsi penjana telah meningkat dengan ketara dalam Python 2.5.
Apabila penjana ditambah kembali dalam Python 2.2, ia memperkenalkan kata kunci "hasil" baru untuk keserasian ke belakang, yang mana kita perlu mengimport penjana dari modul _future_ untuk menggunakannya. Ini telah diubah dalam versi Python 2.3 apabila penjana menjadi standard dan ia tidak lagi diperlukan.
Kenyataan hasil menangguhkan pelaksanaan fungsi dan mengirimkan nilai kembali kepada pemanggil, sambil menyimpan keadaan dan kemudian melanjutkan artinya seluruh penjana itu sendiri masih dapat diteruskan setelah nilai pulangan diperoleh. Penyataan kembali menamatkan pelaksanaan fungsi tersebut dan menghantar nilai kembali kepada pemanggil. Tanpa itu, fungsi anda tiada apa-apa. Mari kita lihat pada bila menggunakan hasil dan bila menggunakan pulangan dalam Python untuk lebih memahami perbezaan antara kedua-dua.
Kenyataan hasil digunakan dalam penjana Python untuk menggantikan pemulangan fungsi untuk menghantar nilai kembali kepada pemanggilnya tanpa memusnahkan pembolehubah setempat. Untuk lebih memahami peranan apa pernyataan hasil dalam pemrograman Python, anda perlu memahami apa penjana.
Fungsi penjana dihasilkan berdasarkan definisi seperti fungsi tetap tetapi mengandungi pernyataan "hasil". Ini bermula dengan kata kunci "hasil" yang menentukan objek penjana untuk dikembalikan kepada pemanggil. Penjana adalah fungsi khas dalam Python yang mengembalikan objek penjana kepada pemanggil daripada nilai data. Kata kunci hasil mempunyai keupayaan unik menghentikan pelaksanaan fungsi, menyimpan keadaan, dan kemudian melanjutkan.
Kenyataan pulangan, tidak seperti penyata hasil, keluar daripada fungsi, menyerahkan nilai kepada pemanggilnya. Fungsi mengembalikan nilai kepada pemanggil mereka dan mereka yang lebih bersifat prosedur tidak secara eksplisit mengembalikan apa-apa. Walaupun fungsi boleh mempunyai pernyataan pulangan berganda, hanya satu daripada mereka yang boleh dipanggil untuk sebarang penyerahan fungsi yang diberikan.
Lazimnya, kenyataan pulangan muncul di penghujung blok fungsi untuk mengembalikan hasil akhir melaksanakan semua kenyataan yang terkandung dalam fungsi itu. Walau bagaimanapun, ia juga mungkin muncul sebelum blok fungsi untuk menghentikan pelaksanaan semua kenyataan berikutnya dalam blok itu. Ini akan menyambung semula pelaksanaan program tersebut pada pemanggil. Apabila tiada nilai ditentukan, jenis objek pemulangan yang sama dalam Python adalah "Tiada".
Secara sintaktik, hasil adalah kata kunci yang boleh digunakan seperti kata kunci pulangan, kecuali kenyataan pulangan menamatkan pelaksanaan fungsi anda dan menghantar kembali nilai kepada pemanggilnya. Fungsi pernyataan pulangan adalah mengambil input dan mengembalikan sesuatu kepada pemanggil. Tidak seperti penyata, penyataan hasil secara jelas digunakan untuk menentukan penjana, menggantikan nilai pulangan fungsi untuk menggantung pelaksanaannya yang menjaga pembolehubah setempat utuh, sedangkan kenyataan pulangan memusnahkan semua pembolehubah setempat dalam.