Untuk memahami konsep closure di python kita harus mengetahui apa itu fungsi bersarang dan variabel non-lokal. Jadi mari kita mulai dengan mereka terlebih dahulu Show
Fungsi bersarang dan variabel Non-lokalKetika suatu fungsi didefinisikan di dalam fungsi lain maka ini disebut fungsi bersarang, di mana, fungsi di mana fungsi lain didefinisikan disebut fungsi luar dan fungsi yang didefinisikan di dalam fungsi lain disebut fungsi dalam. Contoh yang menggambarkan penggunaan fungsi bersarang ditunjukkan di bawah ini
Halo Dalam cuplikan kode di atas, fungsi dalam Memahami konsep penutupanPenutupan adalah objek fungsi (fungsi yang berperilaku seperti objek) yang mengingat nilai dalam lingkup terlampir bahkan jika tidak ada dalam memori Ketika suatu fungsi tersedia di dalam fungsi lain maka penutupan dibuat. Fungsi dalam akan memiliki akses ke variabel dan parameter fungsi luar bahkan setelah fungsi luar dikembalikan. Ini berarti kita dapat memanggil fungsi dalam nanti dan itu akan memiliki akses ke variabel dan parameter fungsi luar. Sebenarnya, penutupan mengacu pada variabel dan parameter fungsi luar. Dapat dikatakan bahwa closure adalah record yang menyimpan fungsi bersama dengan lingkungan _Halo Dalam contoh di atas, kami telah menggunakan penutupan untuk mengakses fungsi Kemudian dalam metode utama, kita telah memanggil fungsi 3Sekarang, variabel _3 memiliki referensi ke fungsi inner() yang berarti ketika kita menggunakan tanda kurung dengan variabel 3 maka ia berfungsi sebagai fungsi inner() yang mengakses variabel text dari fungsi outer() yang dipanggil pada saat deklarasi variabel 3Mari kita ambil satu contoh lagi Contoh ini sedikit lebih rumit, karena di sini kita telah menggunakan argumen di dalam fungsi Dan saat mendefinisikan variabel Oleh karena itu, variabel Dan kemudian saat memanggil fungsi Poin Penting untuk Diingat tentang PenutupanBerikut adalah beberapa poin berguna yang juga membentuk kondisi yang diperlukan untuk mengimplementasikan penutupan di python Bisakah Anda menggunakan variabel di luar fungsi dalam fungsi Python?Dalam Python dan sebagian besar bahasa pemrograman, variabel yang dideklarasikan di luar fungsi dikenal sebagai variabel global . Anda dapat mengakses variabel tersebut di dalam dan di luar fungsi, karena memiliki cakupan global.
Bisakah fungsi dalam Python mengakses variabel luar?Fungsi Dalam Python atau Fungsi Bersarang dapat mengakses variabel fungsi luar serta variabel global. Variabel fungsi dalam memiliki cakupan lokal yang hanya terbatas pada fungsi tersebut. Variabel Fungsi Dalam tidak dapat diakses di lingkup fungsi luar.
Bagaimana Anda mengakses variabel luar dengan Python?Variabel Outer memiliki cakupan yang lebih besar dan dapat diakses dari fungsi terlampir inner() .
Bisakah Anda menetapkan variabel dalam suatu fungsi?Dengan Python, kita dapat menetapkan fungsi ke variabel . Dan dengan menggunakan variabel itu kita bisa memanggil fungsi tersebut sebanyak yang kita mau. Dengan demikian, meningkatkan penggunaan kembali kode. Cukup tetapkan fungsi ke variabel yang diinginkan tetapi tanpa () i. e. hanya dengan nama fungsinya. |