Perbezaan antara hasil python dan pulangan python

Perbezaan antara hasil python dan pulangan python

Penyata hasil digunakan untuk menentukan penjana dalam python. Jadi sebelum kita masuk ke dalam apa yang sebenarnya hasil, kita harus memahami konsep penjana terlebih dahulu. Penjana mempunyai peranan penting dalam python dan jika anda jauh ke dalam pengaturcaraan python, maka kemungkinan anda sudah bekerja dengan penjana python. Penjana digunakan untuk membuat iterators di Python, tetapi dengan pendekatan yang berbeza.

Penjana python adalah fungsi yang menghasilkan urutan 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 dipertingkatkan dengan ketara dalam Python 2.5.

Apabila penjana ditambah kembali di Python 2.2, ia memperkenalkan kata kunci baru "hasil" untuk keserasian ke belakang, yang mana kita perlu mengimport penjana dari modul _future_ untuk menggunakannya. Ini ditukar dalam versi python 2.3 Apabila penjana menjadi standard dan tidak lagi diperlukan.

Penyata Hasil menangguhkan pelaksanaan fungsi dan menghantar nilai kembali kepada pemanggil, sementara menyelamatkan keadaan dan kemudian menyambung semula makna keseluruhan penjana itu sendiri masih boleh disambung semula setelah nilai pulangan diperolehi. Pernyataan kembali menamatkan pelaksanaan fungsi dan menghantar nilai kembali kepada pemanggil. Tanpa itu, fungsi anda tidak mengembalikan. Mari kita lihat dengan baik bila menggunakan hasil dan bila hendak menggunakan pulangan dalam python untuk lebih memahami perbezaan antara kedua -dua.

Apakah hasil python?

Penyata hasil digunakan dalam penjana python untuk menggantikan pulangan fungsi untuk menghantar nilai kembali kepada pemanggilnya tanpa memusnahkan pembolehubah tempatan. Untuk lebih memahami apa peranan yang dimainkan oleh pernyataan hasil dalam pengaturcaraan python, anda harus memahami apa penjana.

Fungsi penjana dihasilkan dengan definisi seperti fungsi biasa 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 dan bukannya nilai data. Kata kunci hasil mempunyai keupayaan unik untuk menghentikan pelaksanaan fungsi, menyelamatkan keadaan, dan kemudiannya meneruskan.

Apa itu Python kembali?

Kenyataan kembali, tidak seperti pernyataan hasil, keluar dari fungsi, menyerahkan nilai kepada pemanggilnya. Fungsi mengembalikan nilai kembali kepada penelepon mereka dan mereka yang lebih prosedural tidak semestinya mengembalikan apa -apa pun. Walaupun fungsi boleh mempunyai beberapa pernyataan pulangan, hanya satu daripada mereka yang boleh dipanggil untuk sebarang penyerahan fungsi yang diberikan.

Biasanya, pernyataan pulangan muncul pada akhir blok fungsi untuk mengembalikan hasil akhir melaksanakan semua pernyataan yang terkandung dalam fungsi tersebut. Walau bagaimanapun, ia juga mungkin muncul lebih awal dalam blok fungsi untuk menghentikan pelaksanaan semua kenyataan berikutnya di blok tersebut. Ini segera meneruskan pelaksanaan program pada pemanggil. Apabila tiada nilai ditentukan, jenis objek pulangan bersamaan dalam Python adalah "Tiada".

Perbezaan antara hasil python dan pulangan

  1. Asas yang berkaitan dengan hasil dan pulangan python

    • Penyata hasil digunakan dalam penjana python untuk menggantikan pulangan fungsi untuk menghantar nilai kembali kepada pemanggilnya tanpa memusnahkan pembolehubah tempatan. Penjana adalah fungsi khas dalam python yang mengembalikan objek penjana kepada pemanggil dan bukannya nilai data.
    • Kenyataan kembali, tidak seperti pernyataan hasil, keluar dari fungsi, menyerahkan nilai kepada pemanggilnya. Biasanya, pernyataan pulangan muncul pada akhir blok fungsi untuk mengembalikan hasil akhir melaksanakan semua pernyataan yang terkandung dalam fungsi tersebut. Semua fungsi mengembalikan nilai dan jika tidak ada nilai yang ditentukan, ia akan kembali "tiada".
  1. Penjana vs. Fungsi dalam hasil python dan kembali

    • Kenyataan hasil digunakan secara eksplisit dengan penjana python. Secara sintaktik, penjana adalah fungsi dengan pernyataan hasil. Walaupun fungsi boleh mempunyai beberapa pernyataan pulangan, hanya satu daripada mereka yang boleh dipanggil untuk sebarang penyerahan fungsi yang diberikan.
    • Tidak seperti fungsi yang hanya kembali sekali, penjana boleh menghentikan pelaksanaan dan menghasilkan hasil pertengahan. Setiap penjana ditakrifkan sebagai fungsi, tetapi bukannya kata kunci pulangan, kata kunci hasil digunakan di dalam blok fungsi untuk menunjukkan bahawa nilai pulangan hanya sementara dan keseluruhan penjana dapat disambung semula walaupun setelah nilai pulangan diperolehi.
  1. Pelaksanaan hasil python dan pulangan

    • Kenyataan Pulangan menamatkan pelaksanaan fungsi dan menghantar kembali nilai kepada pemanggilnya. Fungsi mengembalikan nilai kembali kepada penelepon mereka dan mereka yang lebih prosedural tidak semestinya mengembalikan apa -apa pun. Apa yang pada dasarnya dilakukan adalah keluar dari fungsi dan memusnahkan semua nilai tempatan dalam.
    • Penyata hasil, sebaliknya, menggantikan nilai pulangan fungsi untuk menggantung pelaksanaannya dan menghantar nilai kembali kepada pemanggilnya tanpa memusnahkan pembolehubah tempatan. Walau bagaimanapun, tidak seperti fungsi pulangan, hasil meneruskan pelaksanaan fungsi dari mana ia ditinggalkan.

Python Yield vs. Pulangan: Carta Perbandingan

Ringkasan hasil dan pulangan python

Secara sintaktik, hasil adalah kata kunci yang boleh digunakan seperti kata kunci kembali, kecuali pernyataan pulangan menamatkan pelaksanaan fungsi anda dan menghantar kembali nilai kepada pemanggilnya. Fungsi pernyataan pulangan adalah mengambil input dan mengembalikan sesuatu kepada pemanggil. Tidak seperti pulangan, pernyataan hasil secara eksplisit digunakan untuk menentukan penjana, menggantikan nilai pulangan fungsi untuk menggantung pelaksanaannya memelihara pembolehubah tempatan utuh, sedangkan pernyataan pulangan memusnahkan semua pembolehubah setempat dalam.