Python’da Fonksiyonda Değişken Kullanımı

Python’da Değişkenler ve Fonksiyonlar

Python programlama dilinde değişkenler, veri depolamak için kullandığımız isimlendirilmiş bellek alanlarıdır. Değişkenleri kullanarak farklı türde verileri, sayı, metin veya karmaşık yapılar olarak saklayabiliriz. Fonksiyonlar ise belirli bir işlemi gerçekleştiren kod bloklarıdır. Programınızdaki belirli görevleri birbirinden ayırarak kodunuzu daha düzenli ve okunabilir hale getirmenizi sağlar. Fonksiyonlar, tanımlandıkları yerin dışında çağrıldıklarında çalışır ve gerektiği durumlarda parametre alarak değişkenlerle etkileşime geçebilirler.

Bu yazıda, Python’da fonksiyonlarda değişken kullanmanın temel yönlerini keşfedeceğiz. Öncelikle bir fonksiyonu nasıl tanımlayacağımızı ve içine değişken alarak nasıl çalıştıracağımızı öğreneceğiz. Ayrıca yerel (local) ve küresel (global) değişkenlerin farklarına ve hangi durumlarda tercih edilmeleri gerektiğine de değineceğiz.

Fonksiyon Tanımlama ve Parametre Kullanımı

Bir fonksiyon tanımlamak için def anahtar kelimesini kullanırız. Ardından fonksiyonun adını ve gerekli parametrelerin listesine koyarız. İşte basit bir fonksiyon tanımı:

def toplama(a, b):
    return a + b

Yukarıda tanımlanan toplama fonksiyonu, iki sayıyı (a ve b) parametre olarak alır ve bu sayıları toplar. Bu fonksiyonu kullanarak iki sayıyı toplamak çok basittir. Örneğin:

sonuc = toplama(5, 10)
print(sonuc)  # Çıktı: 15

Bu örnekte, 5 ve 10 değerlerini fonksiyona gönderiyoruz ve bu değerler fonksiyonun içinde a ve b değişkenlerine atanıyor. Fonksiyon çalıştığında, bu değişkenler kullanılarak işlem yapılıyor.

Yerel ve Küresel Değişkenler

Pythonda değişkenlerin kapsamı (scope) çok önemlidir. Değişkenler, tanımlandıkları yerdeki kapsamı belirler. Eğer bir değişken sadece bir fonksiyonun içinde tanımlanmışsa, bu değişkene o fonksiyonun dışından erişilemez. Bu tür değişkenler yerel değişkenlerdir. Örneğin:

def ornek_fonksiyon():
    yerel_deg = 10
    return yerel_deg

print(ornek_fonksiyon())  # Çıktı: 10
#print(yerel_deg)  # Hata: 'yerel_deg' tanımlı değil

Yukarıdaki örnek, yerel_deg değişkeninin yalnızca ornek_fonksiyon içinde erişilebileceğini gösteriyor. Ancak dışarıdan erişmeye çalıştığımızda hata alırız.

Küresel değişkenler ise programın herhangi bir yerinde erişilebilen değişkenlerdir. Bir değişkeni küresel olarak tanımlamak için, anahtar kelimeyle tanımlandıktan sonra bir değişkene değer atayarak oluşturabiliriz:

global_deg = 20

def baska_fonksiyon():
    return global_deg

print(baska_fonksiyon())  # Çıktı: 20

Bu örnekte global_deg değişkeni, fonksiyonların dışındaki alanda tanımlandığı için, baska_fonksiyon içinde kullanılabiliyor.

Fonksiyonlara Değişken Göndermek

Fonksiyonlar sadece sayısal veya metin değerlerini değil, aynı zamanda listeleri, sözlükleri ve birçok farklı veri yapısını da parametre olarak alabilirler. Örneğin, bir listeyi fonksiyona gönderip elemanların toplanmasını istemek mümkündür:

def liste_toplama(liste):
    toplam = 0
    for num in liste:
        toplam += num
    return toplam

sayilar = [1, 2, 3, 4, 5]
print(liste_toplama(sayilar))  # Çıktı: 15

Burada, liste_toplama fonksiyonu bir liste alır ve bu listedeki tüm sayıları toplar. Görüldüğü gibi, fonksiyonlar daha karmaşık veri yapıları ile çalışabilir ve üzerinde işlemler yapabilir.

Değişkenlerin Default Değerleri

Fonksiyon tanımlarında, parametrelerin varsayılan değerlerini belirlemek de mümkündür. Böylece kullanıcı parametre girmezse otomatik olarak bu varsayılan değer kullanılabilir. Aşağıdaki gibi bir örnek verelim:

def merhaba(isim='Misafir'):
    return f'Merhaba, {isim}!'

print(merhaba())  # Çıktı: Merhaba, Misafir!
print(merhaba('Ege'))  # Çıktı: Merhaba, Ege!

Bu örnekte, merhaba fonksiyonu bir isim parametresi alır; eğer isim verilmezse varsayılan olarak 'Misafir' kullanılacaktır. Bu özellik, fonksiyon kullanımını daha esnek hale getirir.

Fonksiyonlarda Varlıkların İyileştirilmesi

Fonksiyonlar, değişkenleri işlemek için döngüler, koşul ifadeleri ve hatalı verileri kontrol eden yapıların kombinasyonlarını kullanabilir. Bu da afaki hataların ve yanlış girilen verilerin önüne geçebilir. Örneğin, bir sayı kontrol fonksiyonu yazarak sadece pozitif sayıları kabul ettiğimize dair bir kontrol yapalım:

def kontrol_et(sayi):
    if sayi < 0:
        return 'Lütfen pozitif bir sayı girin.'
    return sayi * 2

print(kontrol_et(5))   # Çıktı: 10
print(kontrol_et(-3))  # Çıktı: Lütfen pozitif bir sayı girin.

Bu örnekte, kullanıcı negatif bir sayı girdiğinde bir hata mesajı döndürülür. Böylece programın çalışması sırasında kullanıcıyı yönlendirmiş oluyoruz.

Sonuç

Python'da fonksiyonlarda değişken kullanmak, hem kodunuzun işlevselliğini artırmakta hem de kodunuzu daha düzenli hale getirmektedir. Değişkenleri etkili bir şekilde kullanarak fonksiyonlarınızda daha karmaşık ve güçlü yapılar oluşturabilir, daha okunabilir bir kod yazma olanağına sahip olabilirsiniz. Özellikle yerel ve küresel değişkenlerin anlayışı, proje geliştiren programcılar için büyük bir avantaj sağlamakta. Unutmayın, kod yazarken değişkenlerin kapsamını ve etkileşimlerini iyi kontrol etmek, yazılımınızın kalitesi için kritik önem taşır.

Artık Python fonksiyonlarınızda değişkenleri nasıl kullanacağınızı daha iyi anlamış oldunuz. Kendi projelerinizi geliştirirken bu bilgileri uygulayarak, daha etkili ve düzenli bir kod yazma sürecine adım atabilirsiniz.

Scroll to Top