Python3 — global ve yerel değişkenler

 Python3 — global ve yerel değişkenler
Okunuyor Python3 — global ve yerel değişkenler

Python’da oluşturduğumuz fonksiyonlar, koşullu durumlar, hata yakalamalar gibi vs. işlemlerimizi yaparken içinde ve dışında değişken belirleriz bunlara global ve yerel değişkenler denir. Bunu bir fonksiyon üzerinden kısaca açıklayalım,

y = 17

def işlem():

    x = 9

    print(x)

işlem()

elimizde böyle bir fonksiyonumuz var, peki yerel neresi? global neresi?

önce yereli şöyle tanımlayalım, elimizde olan yani sahip olduğumuz değişken yerel değişken, global ise bize ait olmayan genel olarak ulaşılabilen değişken, bu kodda ise “işlem( )” fonksiyonumuz içerisindeki yani fonksiyonumuzun sahip olduğu x değişkeni yerel bir değişkendir ve bu değişken ona ait olduğu için dışarıdan onu çağıramayız,

y = 17

def işlem():

    x = 9

    print(x)

işlem()

print(x)

bunu denediğimizde şu hata ile karşılaşırız,

Traceback (most recent call last):
  File "/home/cihangir/Belgeler/global_yerel_değişkenler.py", line 11, in <module>
    print(x)
NameError: name 'x' is not defined

yukarıda bahsettiğimiz gibi bu şu demek, x bir yerel değişken ve ona dışarıdan ulaşamazsın!

Global değişken ise az çok tahmininiz üzere y değişkeni oluyor, bunu hem oluşturduğumuz fonksiyon içinden hem de dışarıdan çağırabiliriz,

y = 17

def işlem():

    x = 9

    print(x)

    print("\nGlobal değişkeni fonksiyondan yazdırıyoruz : ", y)

işlem()

print("\nGolabal değişkeni dışarıdan yazdırıyoruz : ", y)
9

Global değişkeni fonksiyondan yazdırıyoruz :  17

Golabal değişkeni dışarıdan yazdırıyoruz :  17

peki biz global değişkeni yerel değişkene çevirebilir miyiz? tabiki bunu yapabiliriz ama yapacağınız bir projede bu işleme çok dikkat etmelisiniz çünkü bu değişken ile önemli bir iş yapan kod parçasını siz yerele çevirip bir fonksiyonun yada başka herhangi bir şeyin içine atarsanız hata alırsınız ve sorunu çözene kadar sinirden eliniz ayağınız titreyebilir 🙂 örneğimize geçelim,

x = 10

def işlem():

    global x 

    x = 17

    print(x)

işlem()

burda bir global x ve yerel x değişkenimiz var çevirme işlemini yaparken “global” adında bir fonksiyondan yararlanıyoruz, işlem şu şekilde devam ediyor, global x değişkenimiz fonksiyon içerisine global x olarak çağrılıyor, burda henüz taşıdığı değer 10 ve hala global, ama biz hemen altına o değişkeni çağırıp içerisine 17 değerini atıyoruz burda hem sayısal değeri hem de globalliği kayboluyor ve sonunda kodu çalıştırdığımızda bize 10 değil 17 olarak dönüyor.

17

global ve yerel değişkenler bu kadardı anlaşılmayan yerler için yorum yapmayı yada bana ulaşmayı unutmayın iyi günler.

Yorum Yap