Python

Python’da if elif else Koşul Yapıları

Python'da if elif else Koşul Yapıları

Yazılım geliştirme sürecinde programların belirli durumlara göre farklı davranışlar sergilemesi gerekir. Bir kullanıcının sisteme giriş yetkisinin olup olmadığını denetlemek, girilen bir sayının pozitif mi negatif mi olduğunu belirlemek veya ağ trafiğindeki bir paketin zararlı olup olmadığını tespit etmek gibi kararlar bu mekanizmalarla alınır. Python programlama dilinde bu tür karar süreçleri koşullu ifadeler aracılığıyla yönetilir. Program akışını yönlendirmek için kullanılan en temel araç ise python if else yapılarıdır.

Koşul Yapıları Nedir ve Neden Kullanılır?

Koşul yapıları, bir programın mantıksal kararlar alarak kod bloklarını belirli şartlara bağlı şekilde çalıştırmasını sağlar. Normal şartlarda Python kodları yukarıdan aşağıya doğru satır satır çalıştırılır. Koşul yapıları devreye girdiğinde ise bu sıralı akış değişebilir; belirli bir kod bloğu atlanabilir ya da yalnızca şart sağlandığında devreye sokulabilir.

Bu mekanizmanın temelinde Boolean mantığı yatar. Koşul olarak tanımlanan ifade nihai olarak ya Doğru (True) ya da Yanlış (False) sonucunu üretir. Program, dönen bu mantıksal değere göre hangi yolu izleyeceğine karar verir. Karar mekanizmalarının doğru tasarlanması, yazılımın güvenli, esnek ve hatasız çalışmasını temin eden en önemli unsurlardan biridir.

Temel ‘if’ İfadesi ve Girinti (Indentation) Kuralı

Koşul bloklarının ilk adımı ‘if’ ifadesidir. Belirtilen koşul doğru olduğu sürece, ‘if’ ifadesinin altındaki kod bloğu yürütülür. Koşul yanlış ise Python bu bloğu tamamen atlar ve program bir sonraki satırdan çalışmaya devam eder.

Python dilinde kod bloklarının sınırları diğer dillerdeki gibi süslü parantezlerle değil, girintiler (indentation) ile belirlenir. Standart olarak her girinti dört boşluktan oluşur. Girintileme hatası yapıldığında yorumlayıcı ‘IndentationError’ uyarısı verir.

sistem_durumu = "aktif"

if sistem_durumu == "aktif":
    print("Sistem basariyla calisiyor.")

Yukarıdaki örnekte “sistem_durumu” değişkeni “aktif” değerine eşittir. “if” satırındaki karşılaştırma True sonucunu ürettiği için girintili yazılmış “print” fonksiyonu çalıştırılır ve ekrana çıktı basılır.

Alternatif Durumlar İçin ‘else’ Bloğu

Koşulun sağlanmadığı, yani sonucun False çıktığı senaryolarda ne yapılacağını belirlemek için “else” ifadesi kullanılır. “else” bloğu tek başına var olamaz; mutlaka bir “if” veya “elif” bloğunu takip etmek zorundadır. “else” ifadesi herhangi bir koşul testi yapmaz; kendisinden önceki hiçbir şart sağlanmadığında otomatik olarak devreye girer.

kullanici_yasi = 16

if kullanici_yasi >= 18:
    print("Sisteme erisim izni verildi.")
else:
    print("Erisim reddedildi. Yas siniri 18'dir.")

Bu örnekte 16 değeri 18’den büyük ya da ona eşit değildir. Dolayısıyla “if” koşulu False döner, ilk blok atlanır ve doğrudan “else” bloğu çalışarak erişimin reddedildiğini bildiren mesaj ekrana yazdırılır.

Çoklu Koşullar ve ‘elif’ İfadesi

İkiden fazla olası durumun değerlendirilmesi gereken durumlarda “elif” (else if kısaltması) kullanılır. “elif”, ilk “if” koşulu yanlış çıktığında bir sonraki koşulun test edilmesini sağlar. Python yukarıdan aşağıya doğru koşulları inceler; sağlanan ilk koşulun kod bloğunu çalıştırdıktan sonra diğer tüm “elif” ve “else” adımlarını atlar.

not_degeri = 75

if not_degeri >= 85:
    print("Basari Derecesi: Pekiyi")
elif not_degeri >= 70:
    print("Basari Derecesi: Iyi")
elif not_degeri >= 50:
    print("Basari Derecesi: Gecer")
else:
    print("Basari Derecesi: Basarisiz")

Bu örnekte “not_degeri” 75 olduğu için ilk “if” bloğu False döndürür. Ardından gelen ilk “elif” ifadesi True sonucunu verdiği için “Basari Derecesi: Iyi” metni yazdırılır. Python bu aşamada kalan diğer “elif” ve “else” bloklarını denetlemeden yapıyı sonlandırır.

Karşılaştırma ve Mantıksal Operatörler

Python if else yapılarını verimli kullanabilmek için karşılaştırma ve mantıksal operatörlere hakim olmak gerekir. Koşul ifadeleri bu operatörler ile inşa edilir.

En sık kullanılan karşılaştırma operatörleri şunlardır:

  • == : Eşittir kontrolü yapar, iki değer birbirine eşitse True döner.
  • != : Eşit değildir kontrolü yapar, değerler farklıysa True döner.
  • < : Küçüktür kontrolü yapar.
  • > : Büyüktür kontrolü yapar.
  • <= : Küçük veya eşittir kontrolü yapar.
  • >= : Büyük veya eşittir kontrolü yapar.

Birden fazla şartın aynı anda değerlendirilmesi gerektiğinde mantıksal operatörler kullanılır:

  • and : Bağlanan tüm koşullar True olduğunda True sonucunu verir.
  • or : Bağlanan koşullardan en az biri True olduğunda True sonucunu verir.
  • not : Koşulun mantıksal değerini tersine çevirir. True ise False, False ise True yapar.
kullanici_adi = "yonetici"
parola_dogru = True
oturum_sayisi = 0

if kullanici_adi == "yonetici" and parola_dogru and not oturum_sayisi > 3:
    print("Yonetim paneline giris yapildi.")
else:
    print("Giris basarisiz veya oturum siniri asildi.")

Bu örnekte “and” operatörü tüm şartların sağlanmasını zorunlu kılar. “not oturum_sayisi > 3” ifadesi, oturum sayısının 3’ten büyük olmadığı durumu denetler. Şartların tamamı doğrulandığı için giriş onaylanır.

İç İçe (Nested) Koşul Yapıları

Bir koşul bloğunun içerisine başka bir koşul bloğu yerleştirilebilir. Bu yönteme iç içe (nested) koşul yapısı denir. Genellikle bir şart sağlandıktan sonra daha detaylı bir alt kontrol yapılması gerektiğinde tercih edilir.

ag_baglantisi = True
paket_guvenli = False

if ag_baglantisi:
    print("Ag baglantisi dogrulandi.")
    if paket_guvenli:
        print("Veri paketi kabul edildi.")
    else:
        print("Guvenlik tehdidi: Paket engellendi.")
else:
    print("Ag baglantisi kurulamadi.")

Burada ilk olarak ağ bağlantısının varlığı sorgulanır. Bağlantı doğrulandığında iç kısımdaki ikinci “if” bloğuna geçilir ve paketin güvenliği denetlenir. İç içe yapıların çok fazla katmandan oluşması kodun okunabilirliğini ve bakımını zorlaştırır; bu nedenle derinliği sınırlı tutmak iyi bir yazılım geliştirme pratiğidir.

Tek Satırda Koşul Kullanımı (Ternary Operator)

Basit karar yapıları için Python tek satırlık bir sözdizimi sunar. Bu yapı kod tabanını sadeleştirmek ve basit değişken atamalarını hızlandırmak amacıyla kullanılır.

port_numarasi = 443
protokol = "HTTPS" if port_numarasi == 443 else "Diger"
print(protokol)

Yukarıdaki kod parçasında “port_numarasi” 443 ise değişkene “HTTPS” atanır, değilse “Diger” atanır. Bu teknik karmaşık mantıklar için değil, kısa ve net atamalar için uygundur.

Özet ve Sıradaki Adımlar

Python’da karar alma süreçlerinin bel kemiğini oluşturan python if else mekanizmaları; programların akıllı, dinamik ve esnek yanıtlar vermesini sağlar. Doğru girintileme kurallarına dikkat etmek, mantıksal operatörleri yerinde kullanmak ve gereksiz iç içe koşullardan kaçınmak kod kalitesini doğrudan artırır.

Koşul yapılarını kavradıktan sonra yazılım yetkinliğinizi pekiştirmek için listeler, sözlükler gibi veri yapıları üzerinde bu kontrolleri uygulamalı ve döngüler (for ve while) ile birleştirerek daha kapsamlı algoritmalar geliştirmeye odaklanmalısınız.

#koşul yapıları#programlama temelleri#python#python if else#yazılım geliştirme

Commentaires

Aucun commentaire pour le moment. Soyez le premier.

Laisser un commentaire

Les commentaires sont publiés après validation par l’administrateur.