Saya ingin menjawab pertanyaan yang mungkin Anda miliki atau mungkin tidak, tetapi itu adalah
sesuatu yang membutuhkan waktu bertahun-tahun untuk saya pahami, dan itulah mengapa tidak menjadikan semuanya sebagai variabel global saja?
Maksud saya, semua kebingungan tentang siapa yang memiliki akses ke siapa, betapa mudahnya jika semuanya hanya
ada di halaman utama, semua informasi kita, semua data di lingkup global kita sehingga semuanya memiliki akses
ke semuanya.
Bukankah itu akan lebih mudah?
Dan Anda akan benar.
Maksudku, itu akan membuat semua sakit kepala ini hilang, kan?
Tetapi Anda harus ingat bahwa mesin tidak memiliki kekuatan tak terbatas, tidak memiliki CPU tak terbatas, tidak memiliki
memori tak terbatas, mereka semua memiliki sumber daya terbatas.
Dan sebagai pemrogram, kita harus sadar akan sumber daya apa yang kita gunakan karena terkadang itu bisa menghabiskan uang kita,
terkadang itu bisa membuat komputer kita crash.
Dan ruang lingkup adalah demonstrasi yang bagus untuk ini.
Misalnya, kode ini di sini, ketika fungsi ini dijalankan, secara teknis kami membuat hanya
satu lokasi di memori untuk variabel X.
Jadi kita memiliki rak buku di komputer kita yaitu X yang menunjuk ke lokal saat kita memanggil fungsi
ini.
Dan kemudian ketika kami mengatakan nonlokal di sini, kami mengatakan jangan membuat rak buku lain untuk kami.
Cukup gunakan yang sudah kita miliki dan tetapkan nonlokal.
Jika kita tidak memiliki baris ini, pada saat kita mencapai baris tujuh, kita telah menempatkan di memori X sama dengan lokal
dan X sama dengan nonlokal.
Jadi kami memiliki dua lokasi sekarang di memori.
Nah, ini bukan masalah besar karena, yah, di zaman sekarang ini, kita memiliki banyak memori.
Tetapi ketika program menjadi lebih besar dan lebih besar, ini menjadi sedikit masalah.
Oke, tapi bagaimana dengan fungsinya?
Maksud saya, kami belajar bahwa fungsi memungkinkan kami untuk tidak mengulangi diri kami sendiri dan dapat memanggil beberapa
kali.
Tetapi penggunaan fungsi yang baik lainnya adalah begitu kita memanggil fungsi ini dan semua ini selesai, komputer
dan juru bahasa Python secara khusus menghancurkan semua memori ini.
Artinya, setelah kita selesai dengan fungsi luar, saya tidak dapat memanggil print X di sini.
Ini akan memberi saya kesalahan.
Ini akan mengatakan saya tidak tahu apa yang ada.
Dan mengapa demikian?
Itu karena setelah kita memanggil fungsi ini, python akan dipanggil pengumpul sampah akan berkata, hei, sepertinya
kita sudah selesai dengan fungsi ini.
Dan saya melihat bahwa variabel X ini dengan baik, dan variabel X ini tidak akan kita gunakan karena kita sudah selesai dengan
fungsi ini.
Jadi saya akan mengumpulkan sampah itu dan membuangnya begitu saja.
Jadi saya akan mengosongkan lemari memori itu sehingga sumber daya lain atau program lain dapat menggunakannya.
Dan itu adalah fitur yang sangat bagus di mana Python secara otomatis menghapus ini untuk Anda sehingga Anda
tidak menyumbat memori komputer.
Dan itulah mengapa SCOP berguna.
Kita tidak perlu memikirkannya secara mendetail seperti yang telah saya sebutkan, tetapi senang mengetahui
bahwa ini ada sehingga program Anda tidak menghabiskan banyak memori dan dapat berjalan dengan efisien.
Ini sedikit topik lanjutan, tetapi saya ingin memasukkannya di sini sehingga Anda dapat
memikirkan mengapa program dirancang seperti itu.
Baiklah.
Aku akan berhenti bicara sekarang.
Sampai jumpa di video selanjutnya.
Sampai jumpa.