Python

Python Yield lwn. Kembali

Python Yield lwn. Kembali

Python adalah bahasa pengaturcaraan tujuan umum yang banyak digunakan sejak kebelakangan ini. Hasilnya adalah kata kunci Python terbina dalam yang digunakan untuk membuat fungsi penjana. Fungsinya menghasilkan rangkaian hasil. Ini menjeda pelaksanaan program, mengirim nilai hasil kembali kepada pemanggil, dan melanjutkan pelaksanaan dari hasil terakhir. Selain itu, fungsi hasil mengirimkan rangkaian hasil yang dihasilkan dalam bentuk objek penjana. Sebaliknya, pengembalian juga merupakan kata kunci terbina dalam Python yang menghentikan fungsi dan menghantar kembali nilai kepada pemanggil.

Artikel ini menggariskan perbezaan antara hasil dan pulangan dengan contoh.

Perbezaan antara Hasil dan Pulangan

Sebagai permulaan, terdapat banyak perbezaan yang menonjol antara hasil dan pulangan. Mari kita bincangkan apakah ini.

Kembali Hasil
Penyataan pulangan hanya mengembalikan satu nilai kepada pemanggil. Pernyataan hasil dapat mengembalikan serangkaian hasil kepada pemanggil dalam bentuk objek penjana.
Pengembalian keluar dari fungsi, dan dalam keadaan gelung, ia melepaskan gelung. Ini adalah pernyataan terakhir yang diletakkan di dalam fungsi. Ia tidak menghapuskan pemboleh ubah tempatan fungsi. Ini menangguhkan pelaksanaan dan mengirim nilai kembali ke pemanggil, dan melanjutkan pelaksanaan program dari pernyataan hasil terakhir.
Secara logiknya, fungsi harus mempunyai pernyataan kembali sahaja. Mungkin terdapat lebih dari satu pernyataan hasil dalam fungsi.
Penyata pengembalian hanya boleh dijalankan sekali sahaja. Penyataan hasil dapat dijalankan berkali-kali.
Penyataan pengembalian diletakkan di dalam fungsi Python biasa. Pernyataan hasil menukar fungsi biasa menjadi fungsi penjana.

Contoh1: Pulangan vs. Hasil

Sekarang, mari kita lihat perbezaan antara penyata pulangan dan hasil melalui contoh. Dalam program contoh yang diberikan di bawah ini, kami telah menggunakan beberapa penyataan pengembalian. Anda dapat melihat bahawa pelaksanaan program akan berakhir setelah pernyataan pengembalian pertama, dan selebihnya kod tidak akan dilaksanakan.

#a program untuk menunjukkan cara penyata pengembalian

#menentukan pemboleh ubah nombor

num1 = 10
#menentukan pemboleh ubah nombor

num2 = 20
#membuat fungsi untuk melakukan operasi aritmetik

def mathOP ():
#kira nilai jumlah

pulangkan num1 + num2
#kira perbezaannya

pulangkan num1-num2
#kira nilai pendaraban

pulangkan num1 * num2
#kira nilai pembahagian

pulangkan num1 / num2
# memanggil fungsi

cetak (mathOP ())

Pengeluaran

Dalam output, dapat dilihat bahawa fungsi hanya mengembalikan nilai pertama, dan program dihentikan.

Untuk melakukan tugas yang serupa dengan pernyataan pulangan berganda, kita perlu membuat empat fungsi yang berbeza untuk setiap jenis operasi aritmetik.

#a program untuk menunjukkan cara penyata pengembalian

#menentukan pemboleh ubah nombor

num1 = 10
#menentukan pemboleh ubah nombor

num2 = 20
#membuat fungsi untuk melakukan operasi aritmetik

def sumOP ():
#kira nilai jumlah

pulangkan num1 + num2
def subtractOP ():
#kira perbezaannya

pulangkan num1-num2
pendaraban def ():
#kira nilai pendaraban

pulangkan num1 * num2
def bahagianOP ():
#kira nilai pembahagian

pulangkan num1 / num2
# memanggil fungsi jumlah

cetak ("Nilai jumlahnya adalah:", sumOP ())
# memanggil fungsi penolakan

cetak ("Nilai perbezaannya adalah:", tolakOPOP ())
# memanggil fungsi pendaraban

cetak ("Nilai pendaraban adalah:", pendarabanOP ())
# memanggil fungsi pembahagian

cetak ("Nilai pembahagian adalah:", DivisionOP ())

Pengeluaran

Kita boleh melakukan operasi aritmetik pelbagai ini dalam fungsi penjana tunggal dengan pernyataan hasil yang banyak.

#a program untuk menunjukkan hasil penyataan hasil

#menentukan pemboleh ubah nombor

num1 = 10
#menentukan pemboleh ubah nombor

num2 = 20
#membuat fungsi untuk melakukan operasi aritmetik

def mathOP ():
#kira nilai jumlah

hasil num1 + num2
#kira perbezaannya

hasilkan num1-num2
#kira nilai pendaraban

hasil num1 * num2
#kira nilai pembahagian

hasil num1 / num2
# memanggil fungsi

cetak ("Mencetak nilai:")
#menggunakan gelung untuk mengakses nilai dari objek penjana

untuk i dalam mathOP ():
mencetak (i)

Pengeluaran

Contoh2: Return vs. Hasil

Mari lihat contoh penyata pulangan dan hasil yang lain. Dalam contoh yang diberikan, kami mempunyai senarai nombor yang diteruskan ke fungsi mod () sebagai argumen. Kami menjalankan operasi modulus pada setiap bilangan senarai dan memeriksa angka-angka tersebut apabila dibahagi dengan 10 pulangan sifar sebagai nilai selebihnya.

Pertama, mari kita laksanakan contoh ini dalam skrip Python kami dengan penyataan kembali.

#menentukan senarai nombor

myList = [10,20,25,30,35,40,50]
#menentukan fungsi untuk melakukan operasi modulus

def mod (myList):
untuk saya di myList:
#menjalankan operasi modulus

jika (i% 10 == 0):
pulangan i
cetak (mod (senarai saya))

Pengeluaran

Penyataan pengembalian hanya mengembalikan nombor pertama kepada pemanggil dan menghentikan pelaksanaan fungsi.

Sekarang, mari kita laksanakan contoh yang sama dalam skrip Python kami dengan penyataan hasil.

#menentukan senarai nombor

myList = [10,20,25,30,35,40,50]
#menentukan fungsi untuk melakukan operasi modulus

def mod (myList):
untuk saya di myList:
#menjalankan operasi modulus

jika (i% 10 == 0):
# penyata hasil

hasil i
untuk i dalam mod (myList):
mencetak (i)

Pengeluaran

Kesimpulannya

Kesimpulannya, pulangan dan hasil adalah dua kata kunci atau pernyataan Python terbina dalam. Penyataan kembali digunakan untuk mengembalikan nilai kepada pemanggil dari fungsi dan menghentikan pelaksanaan program, sementara pernyataan hasil menghasilkan objek penjana dan dapat mengembalikan nilai berganda kepada pemanggil tanpa menghentikan pelaksanaan program. Artikel ini menyenaraikan semua perbezaan yang ketara antara penyata pulangan dan hasil dengan contoh.

5 Produk Tetikus Komputer Ergonomik Teratas untuk Linux
Adakah penggunaan komputer yang berpanjangan menyebabkan rasa sakit di pergelangan tangan atau jari anda? Adakah anda mengalami sendi kaku dan selalu ...
Cara Mengubah Tetapan Tetikus dan Pad Sentuh Menggunakan Xinput di Linux
Sebilangan besar pengedaran Linux dihantar dengan perpustakaan "libinput" secara lalai untuk menangani peristiwa input pada sistem. Ia dapat memproses...
Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...