‫Tekrar hoş geldiniz.
‫Aklınıza gelebilecek bazı soruları yanıtlamaya çalışalım.
‫Örneğin, parametreler ne olacak?
‫Eğer parametre yaparsam?
‫Burada B diyelim.
‫B'yi bu şekilde kullandığımda bu parametre nedir?
‫Yani baskı diyelim.
‫Ol.
‫Ve burada, diyelim ki 300 sayısıyla bir karışıklık yaşayacağım.
‫Eğer bunu çalıştırırsam.
‫Bu işe yarıyor.
‫Bunun nedeni, B parametresinin yerel kapsamın bir parçası olmasıdır.
‫Yani, bunun bir parçası.
‫Dolayısıyla parametreler yerel değişkenler olarak kabul edilir.
‫Fonksiyon içinde kullanabiliyoruz, ancak bu fonksiyonların dışında kullanamıyoruz.
‫Teknik olarak fonksiyonu tanımladığımızda, yorumlayıcıya B'nin yerel bir değişken olacağını bildirmiş
‫oluruz.
‫Peki ya bu?
‫Ya elimizde bu varsa?
‫A Ancak fonksiyonumun içinde aslında global A'ya atıfta bulunduğumdan emin olmak istiyorum.
‫Yeni bir değişken oluşturmadan sadece bu değeri kullanmamızın bir yolu var mı?
‫Bunun için daha iyi bir örnek kullanalım.
‫Diyelim ki bir sayaç oluşturmak istiyorum.
‫Yani toplam sıfıra eşit olacak.
‫Ve sonra burada.
‫Sayımı tanımla diyeceğim.
‫Ve bu fonksiyon toplam diyecek.
‫Artı eşittir bir.
‫Bu nedenle, sayıyı her eklediğimizde, sıfır bir artacak ve sonra bir bir artacak,
‫bu böyle devam edecek.
‫Yani bunun sonunda toplamı döndüreceğiz.
‫Yani buraya koşarsam, baskı sayımı.
‫Bakalım neler olacak.
‫Vuracağım.
‫Koş.
‫Ve atamadan önce başvurulan yerel değişken toplamda bir hata alıyorum ve bunun nedeni kuyu sayımının toplamı
‫bilmemesi.
‫Toplamı kullanmaya çalışıyorsunuz ama henüz bir şey atamadık.
‫Ancak dış dünyadan gelen toplamın çalışmasını istiyoruz.
‫Çünkü burada sadece toplam eşittir sıfır yaparsam ve sayımı çalıştırırsam.
‫Bu harika.
‫Bir tane buldum.
‫Peki ya bir sayımı birden fazla kez çalıştırmak istersem?
‫Sayım toplamının üç olması için diyelim ki üç kez sayım yapmak istersem ne olur?
‫O halde sonuncusunun çıktısını alalım.
‫Ve Çalıştır'a tıklıyorum.
‫Hala bir tane alıyorum çünkü fonksiyonu her çalıştırdığımızda toplamı sıfırlıyoruz.
‫Bu pek kullanışlı değil, değil mi?
‫Bunu düzeltmenin bir yolu, Python'da global anahtar sözcüğü dediğimiz şeyi kullanmaktır.
‫Ve global, burada varsa global toplamı kullan diyor, böylece yeni bir değişken oluşturmak zorunda kalmak yerine
‫global toplam değişkenini kullanabiliyorum.
‫Şuna bir bak.
‫Geçersiz bir sözdizimi alıyorum ve bunun nedeni, önce burada küresel toplamın kullanılacağını
‫söylememiz ve ardından toplam artı eşittir bir diyebilmemizdir.
‫Eğer bunu çalıştırırsam.
‫Şuna bir bak.
‫Uygun bir sayacımız var, bu nedenle global, bu global değişkene erişmemiz için bir yoldur.
‫Ancak bunun aslında iyi bir yol olmadığını savunuyorum çünkü globaller eklemeye başladığınızda ve tüm bu
‫farklı evrenler birbirlerinin değişkenlerine eriştiğinde gerçekten kafa karıştırıcı olabilir.
‫Bunu yapmanın daha iyi bir yolu bağımlılık enjeksiyonu denilen bir şeydir ve bu onun basitleştirilmiş bir versiyonudur.
‫Ancak buradaki fikir, fonksiyon dışındaki değişkenlere bu şekilde erişmek yerine, ki dosyalar
‫büyüdükçe gerçekten çok karmaşık hale gelebilir, bunu yapmaktır.
‫Bu.
‫Toplam.
‫Bunun gibi, bir parametre oluştururuz ve sonra bu parametreyi geçiririz.
‫Ya da burada tartışmak.
‫Ancak gördüğünüz gibi, hala bir, çünkü üçüncü toplamı yazdırdığımızda, bu asla değişmez.
‫Bu küresel bir sıfırdır.
‫Bunun yerine şöyle bir şey yapabiliriz.
‫Tekrar sayacağımız toplamı say diyebiliriz.
‫Ve sonra tekrar say.
‫Eğer bunu çalıştırırsam.
‫Ben üç tane aldım.
‫Ve ne düşündüğünü biliyorum.
‫Bu tamamen delilik.
‫Kafa karıştırıcı görünüyor.
‫Şu parantezlere bak.
‫Ama size gerçekte ne yaptığımızı göstereyim.
‫Bu sayım işlevinin dış küresel kapsam üzerindeki bağımlılığını veya etkisini ortadan kaldırabilir ve bunun yerine
‫sadece sağlığına odaklanabiliriz.
‫Tek yapmamız gereken, "Hey, toplamı sıfır olan bir sayı vermeni istiyorum" demekti.
‫Ve bundan sonra, bu bire kadar değerlendirilecek.
‫Ve sonra bir artı bir toplamı ikiye eşit olacak şekilde sayıyoruz ve sonra iki artı bir toplamı üçe eşit olacak
‫şekilde sayıyoruz.
‫Ve bu şekilde, küresel anahtar kelimeyi kullanmak zorunda kalmadan sayımımızı yapmaya devam edebiliyoruz, ki bunun daha güzel olduğunu
‫iddia ediyorum.
‫Unutmayın, eğer bunu ilk kez görüyorsanız, biraz zor olabilir.
‫Ama en azından bu şekilde, işleri yapmanın farklı yolları olduğunu biliyorsunuz.
‫Size göstermek istediğim bir diğer kelime de yerel olmayan diye bir şey.
‫Ama bunun için bir ara verelim ve bir sonraki videoda görüşmek üzere.