‫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üşünmemize gerek yok, 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.