Değişkenler # 3 - Python Dersleri (Tutorials)

avatar

kapak.jpg

Merhabalar

Python programlama derslerinin bu bölümünde değişkenlerde kullanılan "global" anahtar kelimesinin kullanımından bahsedeceğim.

Bu dersimiz önceki dersler üzerine bina edileceğinden öncelikle o derslere bakmanız tavsiye edilir.

Bu dersimize kadar değişkenlerde kapsama alanı, namespace, yerellik ve globallik kavramlarından bahsettik.

Hatırlamak adına global ve yerel kavramları nedir, özet bir bilgi geçelim. Sonrasında global anahtar kelimesi nedir ve nerelerde kullanılır, bunlardan bahsedelim.

Global değişkenler fonksiyon dışında tanımlanan ve en genel kapsama alanına sahip değişkenlerdir ve programın her yerinden erişilebilirler. Ömürleri de programın yaşam ömrü kadardır.

Yerel değişkenler ise fonksiyonlarda tanımlanan değişkenlerdir. Kapsama alanları fonksiyon bloğu içerisidir ve daha dar bir kapsama alanına sahiptirler. Ömürleri de fonksiyonun çalışma ömrü kadardır.

Global bir değişkene fonksiyondan erişim sağlanabilir. Ancak programdan fonksiyondaki yerel bir değişkene erişilemez.

Peki, aynı isimde hem global hem de yerel değişken olsaydı bir fonksiyon hangisini dikkate alırdı? İlk olarak bir fonksiyonun global bir değişkene olan davranışını görelim :

Örneğimizde sayi adında bir değişkenimiz bulunmaktadır. sayi adındaki değişkeni functionTest() fonksiyonu içerisinde kullandığımızı görüyoruz. Fonksiyon içerisindeki print() fonksiyonu ile globaldeki bir değişkeni yazdırmışız.

Buraya kadar diyebiliriz ki, Globaldeki değişkene fonksiyondan erişim sağlayıp üzerinde işlem yapabiliriz.

Şimdi sorumuzu tekrar soralım :

Peki, aynı isimde hem global hem de yerel değişken olsaydı bir fonksiyon hangisini dikkate alırdı?

Aşağıdaki uygulamaya bakalım:

Örneğimizde globalde ve yerelde aynı isimde ve değerleri farklı iki değişken görüyoruz : sayi

En dıştaki print() fonksiyonunun erişim alanında görebileceği değişken, global değişken olan ve değeri 12 olan sayi değişkenidir. Dolayısıyla ekrana 12 yazdıracaktır.

functionTest() fonksiyonundaki print() fonksiyonu ise hem globaldeki sayi değişkenine hem de fonksiyon bloğundaki sayı değişkenine erişebilir. Peki hangisini yazdırır, çıktıya bakıp sonrasında devam edelim:

Çıktıya baktığımızda fonksiyonun kendi içindeki sayi değişkenini dikkate aldığını görüyoruz.

Peki fonksiyon içerisinden globaldeki sayi değişkenimizi kullanmak isteseydik, bunu nasıl yapardık? İşte burada "global" anahtar kelimesi devreye giriyor.

"global" anahtar kelimesi sayesinde bir fonksiyona globaldeki değişkeni kullanmak istediğimizi söyleyebiliriz. Uygulamasını aynı örnek üzerinde görelim :

Bu şekilde "global" anahtar kelimesini kullanarak globaldeki değişkenin değerini de değiştirebiliriz :

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me



0
0
0.000
2 comments