Aklınıza gelebilecek ya da gelmeyebilecek bir soruya değinmek istiyorum, ancak bunu
anlamak benim yıllarımı aldı ve bu da neden her şeyi global değişkenler olarak kullanmadığımdır.
Yani, kimin kime erişimi olduğuna dair tüm bu karmaşa.
Her şey sadece ana sayfada olsaydı ne kadar kolay olurdu?
Tüm bilgilerimiz, küresel kapsamımızdaki tüm veriler, böylece her şey her şeye erişebilir, bu
daha kolay olmaz mıydı?
Ve haklı sayılırsın.
Yani, bu bütün bu baş ağrısını ortadan kaldırır, değil mi?
Ancak makinelerin sonsuz güce, sonsuz CPU'ya ve sonsuz belleğe sahip olmadığını unutmamalısınız.
Hepsinin sınırlı kaynakları var.
Ve programcılar olarak, hangi kaynakları kullandığımızın bilincinde olmalıyız, çünkü bazen bu bize paraya mal olabilir,
bazen de bilgisayarlarımızı çökertebilir.
Kapsam da bunun harika bir göstergesidir.
Örneğin, buradaki kod, bu fonksiyon çalıştırıldığında, X değişkeni için bellekte teknik
olarak sadece bir konum oluşturuyoruz.
Yani bilgisayarımızda X olan ve bu fonksiyonu çağırdığımızda local'i işaret eden bir kitaplığımız
var.
Ve burada yerel olmayan dediğimizde, bizim için başka bir kitaplık yaratmayın diyoruz.
Sadece elimizdekini kullanın ve yerel olmayan olarak atayın.
Bu satır olmasaydı, yedinci satıra geldiğimizde, belleğe x eşittir yerel ve x eşittir yerel olmayan değerlerini
yerleştirmiş olurduk.
Yani şu anda hafızamızda iki konum var.
Şimdi bu çok da önemli değil çünkü günümüzde ve çağımızda çok fazla hafızamız var.
Ancak programlar büyüdükçe, bu biraz sorun haline geliyor.
OC Peki ya bir fonksiyon?
Demek istediğim, işlevlerin kendimizi tekrar etmememize ve seslenebilmemize veya birden fazla kez seslenebilmemize izin verdiğini öğreniyoruz.
Ancak fonksiyonların bir başka iyi kullanımı da, bu fonksiyonu çağırdığımızda ve tüm bunlar yapıldığında, bilgisayarın ve python
yorumlayıcısının özellikle tüm bu belleği yok etmesidir.
Yani, dış fonksiyonla işimiz bittiğinde, burada print x'i gerçekten çağıramam.
Bana bir hata verecek.
Diyecek ki, X'in ne olduğu hakkında hiçbir fikrim yok ve bu neden?
Çünkü bu fonksiyonu çağırdıktan sonra, çöp toplayıcı dediğimiz python, hey, görünüşe göre
bu fonksiyonla işimiz bitti diyecek.
Ve görüyorum ki bu X değişkenini kullanmayacağız çünkü bu fonksiyonla işimiz bitti.
Bu yüzden o çöpleri toplayacağım ve sonra da atacağım.
Bu nedenle, diğer kaynakların veya diğer programların kullanabilmesi için bu bellek dolabını boşaltacağım.
Ve bu, Python'un bunları sizin için otomatik olarak kaldırdığı gerçekten güzel bir özelliktir, böylece bilgisayarın
belleğini tıkamazsınız.
İşte bu yüzden kapsam faydalıdır.
Bahsettiğim kadar ayrıntılı düşünmek zorunda değiliz, ancak programlarınızın çok
fazla bellek kullanmaması ve verimli çalışabilmesi için orada olduğunu bilmek güzel.
Bu biraz ileri bir konu, ancak programların neden bu şekilde tasarlandığını düşünebilmeniz
için buraya dahil etmek istedim.
Tamam.
Şimdi konuşmayı keseceğim.
Bir sonraki videoda görüşürüz.
Güle güle.