Python'da Global ve Local Değişkenler

by trustix


Eklenme Tarihi : 20 Aralık 2020 20:05 Views:     397



Python'da Değişken Nedir?

Bütün programlama dillerinin en temel yapısını değişken adı verilen kavram oluşturmaktadır. Değişkenler veri saklamak için kullanılan yapılardır.

Her veri hafızada bir fiziksel adrese kayıt edilir. Değişken isimleri fiziksel adreslere göre daha kolay hatırlanabilir ve işlenebilir. Bu nedenle verinin fiziksel adresi yerine bir değişken adı kullanılır. Bu ad fiziksel adresin soyut bir temsilidir.  Bununla birlikte değişkenlerin birden fazla türü bulunmaktadır. Bir değişken integer, string, float, list, tuple ya da dict gibi bir veri yapısından veri alabilir. Örneğin:

# Python'da Değişken Tanımlama

# string türünde bir değişken tanımlaması
text = 'Merhaba Sayın Seyirciler'

# integer türünde bir değişken tanımlaması
num_1 = 1071

# float türünde bir değişken tanımlaması
flo_1 = 3.14

# liste türünde bir değişken tanımlaması
countries = ['Türkiye', 'Singapur', 'Malezya']

# tuple türünde bir değişken tanımlaması
cities = ('Tokyo', 'Antalya', 'Kahire')

# dict türünde bir değişken tanımlaması
capitals = {0:'Ankara', 1:'Berlin', 2:'Tahran'}


# type() fonksiyonu ile bu değişkenlerin türünü öğrenebiliriz.

print(type(text)) # <class 'str'>
print(type(num_1)) # <class 'int'>
print(type(flo_1)) # <class 'float'>
print(type(countries)) # <class 'list'>
print(type(cities)) # <class 'tuple'>
print(type(capitals)) # <class 'dict'>
  

 

Python'da Fonksiyon Nedir?

Fonksiyonlar belirli bir amaç için yazılmış, programlama sürecini belli parçalar halinde ilerletmemizi sağlayan, bir kez yazıldıktan sonra defalarca kullanılabilen, organize edilmiş kodlar veya kod bloklarıdır.

Fonskiyonlar ile değişkenlerin ilgisi de bu noktada ortaya çıkmaktadır. Fonksiyonlar en nihayetinde kodlama sürecinin bir parçasıdır. Dolayısı ile bir fonksiyonun çalışması için bazı değişkenlere ihtiyaç duyulabilir. Programlama sürecine ve geliştiricinin ihtiyaçlarına göre fonksiyonlar için tanımlanan değişkenler fonksiyonun kod bloğu içerisinde veya dışarısında olabilir. Bu noktada programcının işini kolaylaştıracak olan şey bu değişkenlerin kapsama alanlarını iyi biliyor olmasıdır.

Python'da Değişkenlerin Kapsama Alanları

Değişkenler, program geliştirme sürecinin her noktasından veya belli bir kod bloğu içerisinden erişilebilirlik durumlarına göre global değişkenler ve local değişkenler olmak üzere ikiye ayrılmaktadır.

Python'da Global Değişkenler

Global değişkenler programlama sürecinin herhangi bir noktasından erişilebilen değişkenlerdir. Bu yüzden ana kod bloğunda tanımlanırlar. Bu değişkenlere istenildiği takdirde erişilebilir.  Yukarıda farklı veri tiplerinden oluşan ve tanımladığım değişkenlerin hepsi global birer değişkendir. Ayrıca bir global değişkene fonksiyon içerisinden de erişilebilir. Örneğin:

# Python'da global değişkenler

"""
    Python'da fonksiyonlar amacına göre belirli
    değişkenlerle çalışmak durumundadır. Bazı durumlarda
    bu değişkenlerin fonksiyon içerisinde tanımlanması gerekir
    bazı durumlarda ise buradaki örnekte olduğu gibi fonksiyon
    dışında tanımlanması gerekir. Ancak fonksiyon dışında tanımlanmış
    bir değişkene dahi fonksiyon içerisinden erişilebilir. Dolayısı
    ile aşağıda tanımladığım isim değişkeni global bir değişken olmaktadır.
"""

isim = 'Kerem'

def merhaba():
    print('Merhaba ' + isim)
    return

merhaba()
# Output: Merhaba Kerem
  

 

# Python'da global değişkenler

"""
    Fonksiyon içerisinde kullanılan ancak
    global olarak tanımlanmış
    bir değişkene fonksiyon içerisinde
    yeni bir değer ataması yapılabilir. Ancak bu
    durumda fonksiyon içerisinde aynı ada sahip yeni
    bir değişken oluşturulmuş olur. Global alanda
    tanımlanan değişkenin değeri aynı kalır.
    Örneğin:
"""

isim = 'Kerem'

def merhaba():
    isim = 'Yağmur'
    print('Merhaba ' + isim)
    return

merhaba()
# Output: Merhaba Yağmur
print(isim)
# Output: Kerem
  

 

Python'da Global Değişkeni Local Kapsamda Değiştirmek

Fonksiyon dışında global olarak tanımlanmış bir değişken fonksiyon içerisinde kullanılırken bazı durumlarda bu değerin değişmesi gerekebilir. Bir önceki örneğimizde aynı isme sahip bir değişken kullanarak sonuca etki etmiş ancak global alandaki değişkenin değerinin sabit kaldığını görmüştük. Eğer fonksiyon içerisinde çalışırken fonksiyon dışında global olarak tanımlanmış olan bir değişkenin değerini değiştirmemiz gerekiyorsa fonksiyon içerisinde global anahtar ifadesini kullanarak bu duruma müdahale edebiliriz. Örneğin:

 

# Python'da Global Değişkeni Local Kapsamda Değiştirmek

"""
    Bir önceki merhaba adlı fonksiyonumuzda
    fonksiyon içerisinde değer Yağmur iken
    fonksiyon dışında Kerem olarak kalmıştı.
    Ancak burada her iki değerin de Yağmur olduğunu
    görüyoruz.
"""



isim='Kerem'
def merhaba():
    global isim
    isim='Yağmur'
    print ("Merhaba ", isim)
    return

merhaba()
# Output: Merhaba Yağmur
print(isim)
# Output: Yağmur

 

Python'da Local Değişkenler

Local değişkenler belli bir kod bloğu içerisinde tanımlanan ve sadece bu blok içerisinde erişilebilen değişkenlerdir. Local değişkenlere global kapsamdan erişmek NameError hatası ile sonuçlanacaktır. Örneğin:

# Python'da Local Değişkenler




def merhaba():
    isim = 'Yağmur'
    print('Merhaba ' + isim)
    return

merhaba()
# Output : Merhaba Yağmur
print(isim)
# Output: NameError: name 'isim' is not defined
  

 

 

Python'da Local Değişkene Global Alanda Erişmek

Local alanda tanımlanan bir değişkene global alanda erişebilmek için global anahtar ifadesi fonksiyon içerisinde kullanılmalıdır. Bu konuda aşağıdaki örnek incelenebilir.

# Python'da Local Değişkene Global Alanda Erişmek



def merhaba():
    global isim
    isim = 'Yağmur'
    print('Merhaba ' + isim)
    return

merhaba()
# Output : Merhaba Yağmur
print(isim)
# Output: Yağmur
  

 

 

 

Evet arkadaşlar Python'da değişkenler nedir, değişkenlerin kapsama alanları nasıldır, local değişkenler nasıl kullanılır, global değişkenler nasıl kullanılır gibi sorulara örnekler üzerinden cevap aramaya çalıştık.

print('Herkese İyi Kodlamalamar')

 





0

Yorum Formu

vikikod.com    © 2019