Post

8- Denetim Yapıları ve Döngüler

8- Denetim Yapıları ve Döngüler

Python’da denetim yapıları, döngüler ve fonksiyonlar, programın akışını kontrol etmek ve belirli görevleri tekrar etmek için kullanılan temel araçlardır. Aşağıda bu konulara dair detaylı açıklamalar ve örnekler bulabilirsiniz:

1. Denetim Yapıları

Denetim yapıları, programın akışını koşullara göre yönlendiren yapılardır. Python’da en yaygın kullanılan denetim yapıları if, elif ve else ifadeleridir.

If-Else Yapısı

Bir koşulun doğru olup olmadığını kontrol eder ve buna göre farklı kod bloklarını çalıştırır.

Örnek:

1
2
3
4
5
6
7
8
x = 10

if x > 5: 
    print("x, 5'ten büyük.")
elif x == 5:
    print("x, 5'e eşit.")
else:
    print("x, 5'ten küçük.")

Nested If (İç içe If)

İç içe if yapıları, daha karmaşık koşullar için kullanılır.

Örnek:

1
2
3
4
5
6
7
8
9
x = 15

if x > 10:
    if x < 20:
        print("x, 10 ile 20 arasında.")
    else:
        print("x, 20'den büyük.")
else:
    print("x, 10'dan küçük.")

2. Döngüler

Döngüler, bir kod bloğunu belirli bir sayıda veya koşul sağlandığı sürece tekrar tekrar çalıştırmak için kullanılır. Python’da iki temel döngü yapısı vardır: for ve while.

For Döngüsü

For döngüsü, bir dizi ya da liste gibi tekrarlanabilir bir yapı üzerinde gezinmek için kullanılır.

Örnek:

1
2
3
4
meyveler = ["elma", "armut", "kiraz"]

for meyve in meyveler:
    print(meyve)

Range ile For Döngüsü

Belirli bir aralıkta döngü oluşturmak için range() fonksiyonu kullanılabilir.

Örnek:

1
2
for i in range(5):
    print(i)

Bu döngü 0’dan başlayarak 4’e kadar olan sayıları yazdırır.

While Döngüsü

While döngüsü, koşul doğru olduğu sürece tekrar eden bir döngüdür.

Örnek:

1
2
3
4
5
i = 0

while i < 5:
    print(i)
    i += 1

Bu döngü, i 5 olana kadar çalışır.

Döngü Kontrol İfadeleri

Döngülerde döngüyü kontrol etmek için break ve continue ifadeleri kullanılır.

  • break: Döngüyü sonlandırır.
  • continue: Döngünün o anki iterasyonunu atlayıp bir sonrakine geçer.

Örnek (break):

1
2
3
4
for i in range(10):
    if i == 5:
        break
    print(i)

Örnek (continue):

1
2
3
4
for i in range(10):
    if i == 5:
        continue
    print(i)

3. Fonksiyonlar

Fonksiyonlar, tekrar tekrar kullanılabilir kod bloklarıdır. Python’da fonksiyonlar def anahtar kelimesi ile tanımlanır.

Basit Fonksiyon Tanımlama

Bir fonksiyon, belirli bir görevi yerine getiren bir kod bloğudur.

Örnek:

1
2
def selam_ver():
    print("Merhaba!")

Bu fonksiyon çağrıldığında ekrana “Merhaba!” yazdırır.

1
selam_ver()

Parametre Alan Fonksiyonlar

Fonksiyonlara parametreler vererek farklı girdilerle çalıştırılabilir.

Örnek:

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

Bu fonksiyon iki sayıyı toplar ve sonucu döndürür.

1
2
sonuc = toplama(3, 5)
print(sonuc)  # 8

Varsayılan Parametreler

Fonksiyonlarda varsayılan parametreler de tanımlanabilir.

Örnek:

1
2
def selam_ver(isim="Dünya"):
    print(f"Merhaba, {isim}!")

Parametre verilmediğinde varsayılan olarak “Dünya” kullanılır.

1
2
selam_ver()  # Merhaba, Dünya!
selam_ver("Ali")  # Merhaba, Ali!

Anonim Fonksiyonlar (Lambda)

Kısa ve tek satırlık fonksiyonlar için lambda kullanılır.

Örnek:

1
2
topla = lambda a, b: a + b
print(topla(3, 4))  # 7

Fonksiyonlarda *args ve **kwargs kullanımı, fonksiyonların esnek parametrelerle çalışabilmesini sağlar. Bu sayede fonksiyonlara değişken sayıda parametre gönderebiliriz.

*args

*args, bir fonksiyona değişken sayıda konumlu (positional) argüman göndermek için kullanılır. *args, fonksiyon içinde bir tuple olarak tutulur. Bu sayede kaç tane argüman gönderildiğini bilmemize gerek kalmaz; fonksiyon, tümünü işleyebilir.

Örnek:

1
2
3
4
5
6
7
def toplama(*args):
    return sum(args)

# Farklı sayıda parametre ile fonksiyonu çağırabiliriz
print(toplama(1, 2, 3))  # 6
print(toplama(4, 5))     # 9
print(toplama(10))       # 10

Bu örnekte *args sayesinde fonksiyona kaç parametre verileceğini bilmemize gerek yoktur. Fonksiyon, aldığı tüm parametreleri bir tuple içinde toplar ve sum() ile bunların toplamını döner.

**kwargs

**kwargs ise bir fonksiyona değişken sayıda anahtar-değer çiftleri (keyword arguments) göndermek için kullanılır. **kwargs, fonksiyon içinde bir dictionary olarak tutulur.

Örnek:

1
2
3
4
5
6
7
8
9
def kisi_bilgisi(**kwargs):
    for anahtar, deger in kwargs.items():
        print(f"{anahtar}: {deger}")

# Fonksiyona farklı anahtar-değer çiftleri ile veri gönderebiliriz
kisi_bilgisi(isim="Ali", yas=30, sehir="İstanbul")
# isim: Ali
# yas: 30
# sehir: İstanbul

Bu örnekte, **kwargs ile fonksiyona farklı sayıda anahtar-değer çifti gönderebiliriz. Fonksiyon, bu çiftleri bir sözlük (dictionary) olarak alır ve işlemler yapar.

*args ve **kwargs Birlikte Kullanımı

Bir fonksiyonda hem *args hem de **kwargs birlikte kullanılabilir. Bu durumda *args konumlu argümanları, **kwargs ise anahtar-değer argümanlarını temsil eder.

Örnek:

1
2
3
4
5
def karisik_fonksiyon(*args, **kwargs):
    print("Positional arguments (args):", args)
    print("Keyword arguments (kwargs):", kwargs)

karisik_fonksiyon(1, 2, 3, isim="Ali", yas=30)

Çıktı:

1
2
Positional arguments (args): (1, 2, 3)
Keyword arguments (kwargs): {'isim': 'Ali', 'yas': 30}

Bu örnekte, *args ile 1, 2 ve 3 konumlu argüman olarak alınırken, **kwargs ile “isim” ve “yas” anahtar-değer çiftleri alınır.

This post is licensed under CC BY 4.0 by the author.