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 angkadaftarku=[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 angkadaftarku=[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.