Hasil Python vs. Pengembalian

Python Yield Vs Return



Python adalah bahasa pemrograman tujuan umum yang banyak digunakan belakangan ini. Hasil adalah kata kunci Python bawaan yang digunakan untuk membuat fungsi generator. Fungsinya menghasilkan serangkaian hasil. Ini menjeda eksekusi program, mengirimkan nilai hasil kembali ke pemanggil, dan melanjutkan eksekusi dari hasil terakhir. Selain itu, fungsi hasil mengirimkan rangkaian hasil yang dihasilkan dalam bentuk objek generator. Di sisi lain, return juga merupakan kata kunci bawaan dalam Python yang mengakhiri fungsi dan mengirimkan nilai kembali ke pemanggil.

Artikel ini menguraikan perbedaan antara hasil dan pengembalian dengan contoh.







Perbedaan antara Hasil dan Pengembalian

Untuk memulainya, ada banyak perbedaan mencolok antara hasil dan pengembalian. Mari kita bahas dulu apa ini.



Kembali Menghasilkan
Pernyataan kembali hanya mengembalikan satu nilai ke pemanggil. Pernyataan hasil dapat mengembalikan serangkaian hasil ke pemanggil dalam bentuk objek generator.
Pengembalian keluar dari fungsi, dan dalam kasus loop, itu mengabaikan loop. Ini adalah pernyataan terakhir yang ditempatkan di dalam fungsi. Itu tidak menghapus variabel lokal fungsi. Ini menunda eksekusi dan mengirim nilai kembali ke pemanggil, dan melanjutkan eksekusi program dari pernyataan hasil terakhir.
Logikanya, suatu fungsi seharusnya hanya memiliki pernyataan kembali. Mungkin ada lebih dari satu pernyataan hasil di dalam fungsi.
Pernyataan kembali hanya dapat dijalankan satu kali. Pernyataan hasil dapat dijalankan beberapa kali.
Pernyataan kembali ditempatkan di dalam fungsi Python biasa. Pernyataan hasil mengubah fungsi reguler menjadi fungsi generator.

Contoh1: Pengembalian vs. Hasil

Sekarang, mari kita lihat perbedaan antara pernyataan return dan yield melalui contoh. Dalam contoh program yang diberikan di bawah ini, kami telah menggunakan beberapa pernyataan pengembalian. Anda dapat mengamati bahwa eksekusi program akan berakhir setelah pernyataan pengembalian pertama, dan sisa kode tidak akan dieksekusi.



#program untuk menunjukkan cara kerja pernyataan pengembalian

#mendefinisikan variabel angka

nomor 1=10

#mendefinisikan variabel angka

nomor2=dua puluh

#membuat fungsi untuk melakukan operasi aritmatika

def mathOP():

#menghitung nilai penjumlahan

kembalinomor 1+nomor2

#menghitung selisihnya

kembalinomor 1-nomor2

#menghitung nilai perkalian

kembalinomor 1*nomor2

#menghitung nilai pembagian

kembalinomor 1/nomor2

#memanggil fungsi

mencetak(matematikaOP())

Keluaran





Pada output terlihat bahwa fungsi hanya mengembalikan nilai pertama, dan program dihentikan.



Untuk melakukan tugas serupa dengan beberapa pernyataan pengembalian, kita perlu membuat empat fungsi berbeda untuk setiap jenis operasi aritmatika.

#program untuk menunjukkan cara kerja pernyataan pengembalian

#mendefinisikan variabel angka

nomor 1=10

#mendefinisikan variabel angka

nomor2=dua puluh

#membuat fungsi untuk melakukan operasi aritmatika

def sumOP():

#menghitung nilai penjumlahan

kembalinomor 1+nomor2

def kurangiOP():

#menghitung selisihnya

kembalinomor 1-nomor2

def perkalianOP():

#menghitung nilai perkalian

kembalinomor 1*nomor2

def divisiOP():

#menghitung nilai pembagian

kembalinomor 1/nomor2

#memanggil fungsi penjumlahan

mencetak('Jumlah nilai adalah:',sumOP())

#memanggil fungsi pengurangan

mencetak('Nilai selisihnya adalah:',kurangi OP())

#memanggil fungsi perkalian

mencetak('Nilai perkaliannya adalah:',perkalianOP())

#memanggil fungsi pembagian

mencetak('Nilai pembagiannya adalah:',divisiOP())

Keluaran

Kami dapat melakukan beberapa operasi aritmatika ini di dalam fungsi generator tunggal dengan beberapa pernyataan hasil.

#program untuk menunjukkan cara kerja pernyataan hasil

#mendefinisikan variabel angka

nomor 1=10

#mendefinisikan variabel angka

nomor2=dua puluh

#membuat fungsi untuk melakukan operasi aritmatika

def mathOP():

#menghitung nilai penjumlahan

menghasilkannomor 1+nomor2

#menghitung selisihnya

menghasilkannomor 1-nomor2

#menghitung nilai perkalian

menghasilkannomor 1*nomor2

#menghitung nilai pembagian

menghasilkannomor 1/nomor2

#memanggil fungsi

mencetak('Mencetak nilai:')

#menggunakan for loop untuk mengakses nilai dari objek generator

untuksaya di mathOP():

mencetak(Saya)

Keluaran

Contoh2: Pengembalian vs. Hasil

Mari kita lihat contoh lain dari pernyataan pengembalian dan hasil. Dalam contoh yang diberikan, kami memiliki daftar angka yang diteruskan ke fungsi mod() sebagai argumen. Kami melakukan operasi modulus pada setiap nomor daftar dan memeriksa apa saja angka-angka itu ketika dibagi dengan 10 mengembalikan nol sebagai nilai sisa.

Pertama, mari kita implementasikan contoh ini dalam skrip Python kita dengan pernyataan return.

#menentukan daftar angka

daftarku=[10,dua puluh,25,30,35,40,lima puluh]

#mendefinisikan fungsi untuk melakukan operasi modulus

def mod(daftarku):

untuksaya di daftar saya:

#melakukan operasi modulus

jika(Saya%10==0):

kembaliSaya

mencetak(melawan(daftarku))

Keluaran

Pernyataan kembali hanya mengembalikan nomor pertama ke pemanggil dan menghentikan eksekusi fungsi.

Sekarang, mari kita terapkan contoh yang sama dalam skrip Python kita dengan pernyataan hasil.

#menentukan daftar angka

daftarku=[10,dua puluh,25,30,35,40,lima puluh]

#mendefinisikan fungsi untuk melakukan operasi modulus

def mod(daftarku):

untuksaya di daftar saya:

#melakukan operasi modulus

jika(Saya%10==0):

#pernyataan hasil

menghasilkanSaya

untuksaya dalam mode(daftarku):

mencetak(Saya)

Keluaran

Kesimpulan

Kesimpulannya, pengembalian dan hasil adalah dua kata kunci atau pernyataan Python bawaan. Pernyataan kembali digunakan untuk mengembalikan nilai ke pemanggil dari suatu fungsi dan menghentikan eksekusi program, sementara pernyataan hasil menghasilkan objek generator dan dapat mengembalikan beberapa nilai ke pemanggil tanpa menghentikan eksekusi program. Artikel ini mencantumkan semua perbedaan mencolok antara pernyataan pengembalian dan hasil dengan contoh.