Fonksiyonlar hakkındaki anlayışımızı sonlandırmak için kapsam hakkında konuşmalıyız.
Anahtar terimlerimizden bir diğeri.
Kapsam nedir?
Bir göz atalım.
Kapsam, birçok programlama dilinde bulunan bir şeydir.
Ve kapsam basitçe şu anlama gelir Hangi değişkenlere sahibim?
Erişim.
Bu kadar.
Peki bununla ne demek istiyorum?
Bunu daha önce de gördük, tam yazdırma yaptığım yerde ve sonra çalıştır'a tıklarsam isim diyelim.
Bir hata alacağım.
Bir isim hatası.
İsim adı tanımlanmamış çünkü.
Öyle bir şey yok.
Doğru.
Ve bu noktaya kadar bunu gerçekten tartışmadık, ancak bunun nedeni kapsamdır.
Hangi değişkenlere erişimim var?
Python yorumlayıcısı der ki, Hey, neye erişimim var?
Ve anlamadığı ya da erişemediği bir şey kullandığımızda, bir isim hatası verecektir.
Veya değişkeni burada tanımlanmamıştır ve python'da kapsam, işlevsel kapsam veya işlev kapsamı dediğimiz şeye sahiptir.
Bu ne anlama geliyor?
Şimdiye kadar, toplam 100'e eşittir gibi bir değişken oluşturduğumuzda, bu küresel kapsam dediğimiz şeyin bir
parçasıydı.
Bu, bu dosyadaki herhangi birinin bu toplam değişkene erişimi olduğu anlamına gelir.
Bunu bir koşullu blok içinde kullanabilirim.
Bir fonksiyonun içinde kullanabilirim.
Küresel bir kapsama sahiptir.
Ama Python'un bir fonksiyon kapsamı olduğunu söylediğimde.
Demek istediğim, bir fonksiyon oluşturduğumuzda ve diyelim ki total as some veya diyelim ki some func oluşturduğumuzda.
Ve fonksiyonun içinde toplam oluşturuyoruz.
Toplamı buraya yazdırırsam ve çalıştır'a tıklarsam.
Ben de aynı şeyi duyuyorum.
İsim toplamı tanımlanmamıştır.
Bunun nedeni Python'un fonksiyon kapsamıdır.
Bir fonksiyonun içinde değilse her zaman bir değişken yaratırız.
O zaman küresel kapsamın bir parçasıdır.
Ona erişimimiz var.
Ancak burada kırmızı altı çizili, tanımlanmamış isim toplamını görüyorsunuz.
Diyelim ki bir koşulum var, eğer doğruysa.
O zaman X 10'a eşittir.
Bunu yaparsam ve X dersem ve Çalıştır'a tıklarsam.
On tane var çünkü.
Girintilerim olmasına rağmen.
Yeni bir kapsam oluşturduğum tek zaman.
Bunu ortaya çıkardığımız yeni bir evren olarak düşünebilirsiniz.
Bunu ancak aşağıdaki gibi bir fonksiyon tanımladığımızda yapabiliriz.
Yani kapsamı, yarattığımız yeni bir dünya olarak düşünün.
Bizim durumumuzda, bir fonksiyon oluşturduğumuzda, fonksiyonun içinde girintili olan herhangi bir şeyin
gerçekten erişemediğimiz kendi dünyası olduğu yeni bir dünya yaratırız.
Toplamı yalnızca baskıyı girintilersek kullanabiliriz.
Ve bu dünyanın bir parçası.
Kapsam budur.
Kimin kime erişimi var?
Burada biraz ara verelim.
Bir sonraki videoda kimin kime erişimi olduğunu bulmaya çalışacağımız küçük bir oyun oynamak istiyorum.
Onda görüşürüz.
Güle güle.