Selamat datang kembali.
Di video kali ini saya ingin berbicara tentang sebuah konsep penting yaitu kembali.
Ini adalah kata kunci dalam Python yang akan sering kita lihat saat bekerja dengan fungsi.
Jadi mari kita lihat.
Jika saya katakan saya ingin membuat fungsi yang disebut sum, yang, omong-omong, sudah ada di Python, tapi kita
akan membuatnya sendiri dan saya akan mengatakan nomor satu untuk nomor satu.
Dan nomor dua, nah, fungsi penjumlahan kita akan menambahkan sembilan satu ditambah angka dua, fungsi yang bagus dan sederhana.
Sekarang, jika saya menjalankan beberapa dengan nomor empat dan lima, coba tebak apa yang akan terjadi?
Aku akan memukul lari.
Dan tidak ada yang terjadi, yang saya maksud, mungkin tidak mengejutkan Anda, karena kami tidak mencetak apa pun, kan.
Tetapi bagaimana jika saya menjalankan print di sini?
Apakah ini akan berubah?
Ayo lihat.
Hmm, saya tidak mengerti.
Apakah itu yang Anda harapkan dan kami belum pernah melihatnya sebelumnya.
Benar, maksud saya, ingat ketika kita memiliki daftar, katakanlah satu sampai tiga, dan kemudian kita melakukan sesuatu
seperti memperjelasnya?
Di Ed kami, itu memberi kami panah kecil ini dan tidak mengatakan apa-apa, dan kami berbicara tentang gagasan tentang daftar
ini, sesuatu seperti jelas mengubah daftar yang sebenarnya dan menghapus semuanya dan mengosongkan daftar.
Tapi itu tidak mengembalikan daftar baru.
Itu hanya mengubah daftar yang ada, tetapi tidak mengembalikan apa pun kepada kami.
Nah, fungsinya memang seperti itu.
Mereka selalu harus mengembalikan sesuatu.
Dan ketika mereka tidak mengembalikan sesuatu seperti tidak ada kata kunci kembali di sini, secara otomatis tidak mengembalikan apa pun.
Jadi jika kita tidak memiliki sesuatu seperti kembali ke sini, itu selalu tidak akan menghasilkan apa-apa.
Tapi jika kita menambahkan return, itu akan mengatakan segera setelah kita sampai, seperti, untuk hei.
Saya ingin Anda keluar dari fungsi ini, dan ketika Anda keluar dari fungsi ini, saya ingin Anda mengembalikan apa pun yang diberikan ekspresi
ini kepada kami, jika saya klik, jalankan.
Saya mendapatkan sembilan.
Jika kita mengubah ini menjadi 10.
Ditambah lima, kita mendapat 15.
Dan ini adalah aturan umum yang baik dengan fungsi, karena fungsi dapat melakukan dua hal bukan?
Satu, itu bisa mengembalikan sesuatu.
Jadi di akhir fungsi, apa pun, setelah fungsi dijalankan, kami mengembalikan sesuatu baik
Nunn atau semacam nilai, semacam tipe data, atau kami dapat memiliki fungsi yang tidak mengembalikan apa
pun tetapi mungkin memodifikasi sesuatu.
Jadi, misalnya, saya bisa mencetak.
Hai.
Dan jika saya lari ke sini.
Saya tidak mengembalikan apa pun karena saya tidak memiliki pernyataan pengembalian itu, namun, fungsi saya melakukan sesuatu yang dimodifikasi.
Nah, tampilan pajak ini, benar, seorang pangeran tinggi bagi kita.
Jadi suatu fungsi memodifikasi sesuatu dalam program kita atau mengembalikan sesuatu.
Dan ini adalah topik yang cukup maju yang akan kita bahas
nanti ketika kita berbicara tentang pemrograman fungsional, tetapi aturan praktis yang baik dengan fungsi adalah fungsi ini harus melakukan satu hal dengan sangat baik.
Dan biasanya suatu fungsi harus mengembalikan sesuatu.
Sekarang, ini tidak berarti bahwa fungsi apa pun yang mungkin melakukan banyak hal atau fungsi apa pun yang
tidak mengembalikan sesuatu itu buruk, tetapi umumnya praktik yang baik adalah membuat kode Anda sederhana dan mudah dibaca, untuk memiliki
dua aturan ini.
Misalnya, di sini, jika saya mencetak dan menambahkan, akan, fungsi ini melakukan banyak hal.
Ini mengkhawatirkan tentang pencetakan dan juga mengkhawatirkan tentang sesuatu.
Dan definisi fungsi ini disebut beberapa.
Maksud saya, jika saya tidak tahu atau saya tidak melihat ini dan yang saya lakukan hanyalah menjalankan beberapa, saya
pikir mencetak tinggi akan mengejutkan karena namanya tidak benar-benar menggambarkan fungsinya.
Maksudku, aku mengharapkan ini untuk beberapa waktu.
Mengapa program saya menyapa?
Jadi kita ingin memastikan bahwa fungsi kita melakukan satu hal dan hanya satu hal saja?
Karena seperti yang akan kita lihat nanti, kita dapat menggabungkan dan menjalankan fungsi yang berbeda secara bersamaan.
Dan kemudian kami juga ingin memastikan bahwa kami mengembalikan sesuatu, karena dengan cara ini, yang dapat kami lakukan
adalah kami benar-benar dapat menetapkan nilai pengembalian ini ke sebuah variabel.
Sebagai contoh, saya dapat mengatakan total sama dengan sekitar 10.
Lima.
Dan karena fungsi ini mengembalikan sesuatu dan ketika selesai, menjalankan akan memiliki nilai 15, itu hal yang sama seperti
yang kita lakukan di sini.
Dan inilah bagian kerennya sekarang saya bisa menjalankan mungkin sekitar 10.
Ditambah jumlah.
Sekarang, mari kita bahas ini satu per satu.
Saya mendefinisikan fungsi saya, juru bahasa Python akan mengatakan, baiklah, saya tahu apa yang beberapa sekarang Anda
telah mendefinisikannya.
Aku akan menyimpannya dalam memori.
Ini akan terus, terus sampai baris tujuh.
Dan itu akan mengatakan, hei, saya ingin total variabel dan saya ingin variabel total itu sama dengan 10
lima.
Dan bahkan sebelum kita menetapkan sesuatu ke python total, juru bahasa akan mengatakan apa?
Beberapa lagi.
Ah, aku ingat di sini.
Ada di memori, oke, di beberapa saya akan memberikan argumen 10 dan lima.
Jadi itu akan menjalankan fungsi itu.
Segera setelah kita mengakhiri braket penutup ini, ia akan pergi ke matahari.
Ini akan mengatakan, hei, tidak ada yang akan menyamai sepuluh.
Hei, nomor dua akan sama dengan lima.
Sekarang kita pergi ke baris dua dan itu akan mengatakan, hei, saya ingin Anda menambahkan sepuluh ditambah lima karena saya tahu apa
variabel-variabel ini.
Dan kemudian setelah Anda selesai dengan itu dan ini berubah menjadi 15, saya ingin Anda kembali.
Jadi juru bahasa Python, akhirnya, ketika selesai memanggil beberapa, akan berkata, hei, tetapkan nilai
15 ke total variabel dan kemudian akan pergi ke baris berikutnya.
Hei, aku ingin mencetak sesuatu.
Apa yang ingin Anda cetak?
Nah, saya ingin mencetak ini.
Ini akan mengatakan, hei, apa yang saya tahu apa yang ada di sini.
Saya memilikinya dalam ingatan.
Dan sekali lagi, itu akan mengatakan sepuluh.
Dan kemudian argumen berikutnya akan menjadi total.
Hei, apa totalnya?
Biarkan aku pergi memori dan mencari tahu.
Ah, sudah jam 15.
Jadi seperti mengatakan 50.
Dan ini adalah kekuatan fungsi, benar, saya dapat mengembalikan sesuatu dan menetapkannya ke variabel dan memanggilnya seperti ini
dan saya dapat terus menjalankannya jika saya mau.
Jika saya ingin membuatnya lebih sederhana, saya bisa pergi.
Beberapa alih-alih total akan ada di sini.
Dan lihat itu sekarang.
Saya memiliki semuanya dalam satu baris dan jika saya mengklik jalankan.
Sekali lagi, itu masih berfungsi.
OK, tapi bagaimana jika kita melakukan sesuatu seperti ini?
Bagaimana jika saya mengatakan mendefinisikan beberapa dan kemudian saya akan mengatakan mendefinisikan di dalam sini fungsi lain dan fungsi ini mengambil
nomor satu dan nomor dua.
Dan di sini, kami akhirnya kembali nomor satu dan nomor dua.
Hmm, mari kita uji ini.
Apa yang kamu pikir akan terjadi?
Yah, pertama, katakanlah totalnya sama dengan 10 ditambah 20.
Dan kemudian saya akan mencetak total.
Jika saya klik, jalankan.
Saya tidak mendapatkan apa-apa.
Sekarang, mengapa itu dan ini harus jelas bagi Anda, karena di sini saya berkata, hei, saya ingin Anda mendefinisikan sesuatu
dan apa yang akan kita lakukan dengan fungsi tersebut?
Beberapa baik, di dalam sini, saya akan mendefinisikan fungsi lain.
Tetapi pernyataan pengembalian ini sebenarnya tidak dijalankan.
Benar, karena semua yang kita lakukan di dalam blok ini, blok kode ini.
Apakah bagian ini kita mendefinisikan fungsi, tapi kita tidak pernah memanggil fungsi lain.
Jadi ini tidak mengembalikan apa pun.
Dan kami telah kehilangan kemampuan dengan baik, untuk memanggil fungsi ini.
Jadi bagaimana kita bisa menyelesaikan ini?
Salah satu caranya adalah dengan kembali, bukan?
Jadi di akhir sini, kita harus memastikan bahwa lekukannya benar dan kita akan mengembalikan fungsi lain.
Jadi mari kita tambahkan return dan lihat apa yang terjadi di sini.
Jika saya klik, jalankan.
Baiklah, saya mendapatkan fungsi ini sekarang, jadi totalnya akan sama dengan fungsi yang kita kembalikan dan ada di
memori.
Oke, tapi saya tidak mendapatkan hasil yang saya inginkan, bukan?
Dan mengapa demikian?
Karena saat kita tidak memanggil fungsi ini maka ada beberapa cara yang bisa kita lakukan.
Kita bisa memberikan parameter atau argumen di sini.
Jadi katakanlah 10, 20.
Dan jika saya klik, jalankan.
Saya mendapatkan 30 atau jika kami ingin menyimpan apa pun yang kami berikan di sini, saya hanya bisa mengatakan funk lain.
Jadi kalau kita beri nomor satu dan nomor dua dan saya klik run.
Hei, lihat itu, aku mendapat 30.
Nah, video ini mungkin harus Anda tonton berulang-ulang, karena sedikit meregangkan pikiran
Anda, dan jujur saja, fungsi ini tidak terlalu bagus karena bagus, sangat membingungkan.
Fungsi Anda harus mudah dimengerti.
Jadi kami mungkin ingin mengubahnya sedikit, mungkin di sini memiliki nama parameter yang sama hanya
untuk memperjelasnya.
Mungkin kita bisa mengatakan dan satu dan dan dua.
Dan kemudian di sini kita lakukan.
Dan satu plus dan dua untuk memperjelas bahwa ketika kita mengembalikan fungsi lain ini, saya menggunakan parameter, nomor satu, dan nomor dua
yang kami panggil di sini.
Karena definisi fungsi ini tidak terlalu peduli apa hal-hal ini.
Itu hanya peduli ketika fungsi lain dipanggil.
Sekarang, jika Anda perlu menjeda video dan melihat ini dan mungkin berlatih ini sedikit, itu
sepenuhnya dapat dimengerti.
Tapi saya ingin menunjukkan kepada Anda kekuatan untuk kembali.
Anda dapat memiliki fungsi bersarang seperti yang Anda bisa dengan persyaratan, tetapi Anda harus berhati-hati agar
fungsi Anda mengembalikan sesuatu, jika tidak maka tidak akan mengembalikan apa pun.
Dan sebagian besar waktu Anda akan ingin mengembalikan sesuatu dari suatu fungsi sehingga kami dapat melakukan sesuatu seperti
ini di mana kami menetapkannya ke variabel sehingga kami dapat menggunakannya nanti di program kami.
Sampai jumpa di yang berikutnya.
Satu hal lagi, kata kunci kembali secara otomatis keluar dari fungsi sehingga di sini, jika saya menambahkan
potongan kode lain seperti cetak, halo?
Atau bahkan mungkin memiliki pengembalian lima di sini, Anda melihat bahwa itu masih valid, tetapi jika saya menjalankan ini.
Saya masih mendapatkan 30 karena penerjemah tidak pernah sampai ke baris lima dan enam, karena segera setelah kami mengembalikan
sesuatu dari suatu fungsi, ia keluar dari fungsi itu.
Dan alasan mengapa bagian ini tidak keluar dari fungsi adalah karena, ingat, di dalam fungsi ini, kita
sedang mendefinisikan.
Jadi kita tidak benar-benar menjalankan bagian ini.
Kami hanya mengatakan, hei, ketika kami melihat fungsi lain muncul dalam kode kami, kami tahu apa itu, tetapi
kami tidak akan menjalankannya.
Jadi akan terlihat seperti ini.
Dan segera setelah ia melihat pernyataan kembali, ketika menjadi dingin, ia akan berkata,
baiklah, saya keluar dari fungsi ini dengan nilai ini.
Hanya sedikit kepala.