‫Pekala, küçük bir oyun oynayalım.
‫Bu programın çıktısının ne olacağını tahmin edebilir misiniz?
‫Burada eşit bir tane var.
‫Daha sonra confusion adında bir fonksiyon oluşturuyoruz, burada a beşe eşit oluyor ve a değerini döndürüyoruz.
‫Sorum şu: A'yı bastığımızda ve karışıklığı bastığımızda, burada ne olmasını bekliyorsunuz?
‫Gerekirse duraklamayı anlamak için bir saniyenizi ayırın.
‫Ve öğrenelim.
‫Bir ve beş.
‫Beklediğin bu muydu?
‫Hadi gidelim.
‫Satır satır.
‫Önce A değişkenine bir değerini atıyoruz, daha sonra confusion adında bir fonksiyon oluşturuyoruz ve python yorumlayıcısı şöyle diyecek: Pekala,
‫confusion, fonksiyon.
‫Ne olduğunu biliyorum.
‫Hafızaya alacağım.
‫Beni kullanmanız gerektiğinde, haber verin yeter.
‫Ve sonra sekizinci satıra gidecek ve sekizinci satır diyecek ki, hey, print a what's a well,
‫a'yı gördüğüm tek zaman tam burada a equals one.
‫Hafızaya girin, diyelim ki A eşittir bir.
‫Ama sonra böyle bir karışıklık yaşadığımda.
‫Diyeceğim ki, hey, a beşe eşit olacak ve şimdi beş olan A'yı döndürüyoruz.
‫OC Bunun sırasını değiştirirsem ne olur?
‫Ya böyle yaparsam?
‫Çalıştır'a tıklarsam ne olur?
‫Beklediğin bu muydu?
‫Bir kez daha, bir eşitimiz var.
‫Daha sonra fonksiyonu tanımlarız ve ardından karışıklığı yazdırırız.
‫Şimdi buradaki karışıklık a'yı beşe eşit olarak atayacak ve sonra a'yı döndürecektir.
‫Ama bu neden değişmedi?
‫Neden buraya geldiğimizde bir hala bire eşit oluyor?
‫Bunun nedeni de kapsam, değil mi?
‫Python yorumlayıcısının yaptığı şey, karışıklık işlevini çalıştırdığında, hey, a beşe eşit
‫olacak diyecektir.
‫Ama ben burada kendi evrenimde A adında bir değişken yaratıyorum.
‫Buradaki eşitler hakkında bir şey bilmiyorum.
‫Benim kendi evrenim var.
‫Ve bu fonksiyonu çalıştırdıktan sonra, işimiz biter.
‫Fonksiyonu iade ettik ve tamamen gitti.
‫Ancak evreni hiçbir zaman küresel kapsama bırakmadık.
‫Yani Python yorumlayıcısının bir değişkeni kontrol etmek için geçtiği bir dizi kural vardır.
‫Ve kurallar şöyle.
‫İlk olarak, yerel ile kontrol edecek.
‫Bu yüzden yerelden başlayın.
‫Ve bizim yerel kapsam dediğimiz şey.
‫Yerel kapsam, bu yerel işlevin bir parçası olan bir kapsamdır.
‫Yani a yerel bir kapsamdır.
‫Orayı kontrol edecek.
‫Hey, değişkeni biliyor muyum?
‫Evet, döndüğümde.
‫A Burada tanımlanmış bir değişkenim var, bu yüzden oradan başlıyor.
‫Ama diyelim ki A orada değildi, diyelim ki a'yı kaldırdım ve burada çalıştır'a tıkladım.
‫Her ikisini de bir kez alıyorum çünkü ikinci kural, yerel değişkende veya yerel kapsamda hiçbir şey
‫yoksa, o zaman iki numara, bir üst yerel kapsam var mı?
‫Bizim durumumuzda, bu fonksiyonun üst öğesi nedir?
‫Bu küresel bir kapsam.
‫Ancak başka bir işlev de yapabiliriz.
‫Diyelim ki ebeveyn ve ebeveyn, karışıklık fonksiyonunun bir ebeveynidir.
‫Ve burada, A'nın 10'a eşit olduğunu varsayalım.
‫Şimdi burada.
‫Geri döneceğiz.
‫Sadece tekrar kullanabilmek ve gerçekten çalıştırabilmek için kafa karışıklığı.
‫O zaman ebeveyni arayalım.
‫Ve Çalıştır'a tıklayın.
‫Pekala, şunun üzerinden geçelim.
‫Yani çok kafa karıştırıcı değil.
‫Çağrılan bir üst fonksiyonumuz var.
‫Yani bunu çağırdığımızda, ona bir eşit atarız.
‫Ayrıca yeni bir işlev karışıklığı da yaratıyoruz.
‫Ve nihayetinde kafa karışıklığına geri dönüp onu gerçekten çalıştırıyoruz.
‫Bu yüzden a değerini döndüreceğiz ve sonra burada A'nın değeri neyse onu yazdıracağız, ki bu değer ondur.
‫Neden peki?
‫Çünkü ilk olarak yerel kapsamla başlıyoruz.
‫Hey, karışıklık a'nın ne olduğunu biliyor mu?
‫Hayır.
‫Yerel kapsamımda yok.
‫OC ebeveynimin yerel okulunda var mı?
‫Bu yüzden bir seviye yukarı çıkacak ve şöyle diyecek: Hey, ebeveyn işlevi a'nın ne olduğunu biliyor mu?
‫Evet, 10'a eşit bir sayım var, o yüzden bunu basacak.
‫Üçüncü kural ya da üçüncü emir küreseldir.
‫Ve küresel, hiçbir şeyin girintisi dediğimiz şeydir.
‫Bu dosya, değil mi?
‫Dosyada ne varsa, bu küreseldir.
‫Bizim durumumuzda, A eşittir on burada mevcut değilse, yerel yoktur, ebeveyn yerel yoktur.
‫Ve koş'a tıklıyorum.
‫Küresel kapsamı kontrol eder.
‫Ve son olarak, bir kural daha var ve bu dört numara ve zor bir kural.
‫İşte biz buna yerleşik Python diyoruz.
‫Ya da yerleşik python fonksiyonları.
‫Yani Python aşağıdaki gibi önceden tanımlanmış fonksiyonlarla birlikte gelir?
‫Daha önce konuştuğumuz toplam.
‫Bu biraz, diyelim ki, sadece beş verelim.
‫kontrol edecek mi yoksa aslında, ona hiçbir şey vermeyelim.
‫Burada biraz yapalım.
‫Bunu çalıştırdığımda.
‫Bazı işlevleri yerleşik olarak alıyorum.
‫Şimdi.
‫Bunun ne olduğunu nereden biliyorlardı?
‫Günün sonunda bu değişken neydi?
‫Şey, çünkü dedi ki, hey, bu evrenin içinde biraz var mı?
‫Hayır.
‫Bilmiyorum.
‫Ana kapsamımda biraz var mı?
‫Hayır, yok.
‫Globalde biraz var mı?
‫Hayır.
‫Burada toplam bir şey yok.
‫Ve sonra kontrol edeceği son şey, hey, bir çeşit yerleşik Python işlevi var mı?
‫Evet.
‫Python aslında bize biraz verir, böylece hata vermemesi için kullanabilirsiniz.
‫Bu da Python yorumlayıcısının izlediği kapsam kurallarıdır.
‫Çok, çok havalı.
‫Hâlâ öğrenmemiz gereken birkaç şey daha var.
‫Bir sonraki videoda görüşürüz.