Menu

Python if, elif, else: Koşullu İfadeler ve Ternary İfadeleri

Python'un if, elif ve else ifadeleri nasıl çalışır — truthy değerler, iç içe koşullar ve ternary if ifadesi dahil.

İngilizce Şeklinde Bir Karar

if, çoğu programın başvurduğu ilk araçtır. Bir koşul doğru olduğunda kodun bir yolu, değilse farklı bir yolu almasına izin verir. Python bunu doğrudan yazar:

main.py
Output
Click Run to see the output here.

İki satır, bir karar. if satırı iki nokta ile biter. Altındaki girintili satır if'in gövdesi'dir — koşul doğruysa çalışan kod. hour 15 olsaydı, gövde tamamen atlanırdı ve hiçbir şey yazılmazdı.

Yapıyı oluşturan şey girintidir. Python hangi satırların if'e ait olduğunu, baştaki boşluklarına bakarak bilir. Seviye başına dört boşluk kuraldır; tutarlı ol.

else Dalını Eklemek

Genelde her iki durumda da bir şey olmasını istersin: koşul doğruysa bu, değilse şu. else bunun yoludur:

main.py
Output
Click Run to see the output here.

else satırının koşulu yoktur — if'in yakalamadığı her şeyi yakalar.

elif ile Birden Fazla Dal

İkiden fazla yol için if ile else arasına elif ("else if") maddelerini üst üste dizersin:

main.py
Output
Click Run to see the output here.

Python koşulları yukarıdan aşağıya gezer ve ilk doğru olanın bloğunu çalıştırır. Geri kalanı atlanır. Bu yukarıdan aşağıya sıra önemlidir: score >= 60score >= 90'dan önce koyarsan herkes D alır — ilk doğru koşul kazanır.

Akılda tutulacak düzgün bir yapı: herhangi bir girdi için koşullar karşılıklı olarak dışlayıcı olmalı ve sıra probleme doğal olarak nasıl düşündüğünü yansıtmalıdır. En özel durumları önce, en genel olanları sona koy.

Koşullarda Truthy Değerler

if'teki ifadenin birebir True ya da False'a değerlenmesi gerekmez. Python herhangi bir değeri kabul eder ve truthy'liğine karar verir:

main.py
Output
Click Run to see the output here.

if items: ifadesi "liste içinde bir şey varsa" diye okunur. Falsy değerler şunları içerir:

  • False
  • 0, 0.0
  • None
  • Boş kaplar: "", [], {}, set(), ()

Geri kalan her şey truthy'dir. Truthy'yi kullanmak kodu daha doğal okutur, bir uyarıyla: sıfır anlamlı bir değerse (meşru olarak sıfırda olan bir sayaç gibi), "boş = sıfır" karışıklığından kaçınmak için is not None ya da != 0 ile açıkça karşılaştır.

Koşulları Birleştirme

and, or ve not bileşik koşullar kurmanı sağlar:

main.py
Output
Click Run to see the output here.

Uç noktalar ortak bir orta değeri paylaşıyorsa, zincirlenmiş karşılaştırmalar açık bir and'den daha derli topludur:

main.py
Output
Click Run to see the output here.

Bu, 18 <= age and age < 65 ile aynıdır ama bir matematiksel eşitsizlik gibi okunur.

İç İçe if İfadeleri

if içinde if kullanabilirsin. Bu meşrudur ve bazen en açık yapıdır — ama aynı zamanda koşullu kodun takip edilmesi zorlaşmasının başlıca yoludur. Kendini üç seviye derinde bulursan, erken geri dönüşlerle (fonksiyon yazmaya başladığında) veya koşulları birleştirerek düzleştirmeyi düşün:

main.py
Output
Click Run to see the output here.
main.py
Output
Click Run to see the output here.

İkisi de çalışır. Bu kodu daha önce görmemiş bir okuyucuya daha iyi okunan hangisiyse onu seç.

Ternary İfadesi

Bir koşula göre bir değerin iki şeyden biri olmasını istediğinde Python'un kompakt bir biçimi vardır:

main.py
Output
Click Run to see the output here.

Baştan sona oku: "temp en az 70 ise warm, yoksa cool." Kısa ikiliğin atamaları için harikadır. Dallar uzamaya ya da birden fazla işlem içermeye başladığında kullanmayı bırak — o noktada tam bir if/else bloğu göz için daha kolaydır.

if Yalnızca Bir Yerde İfadedir

Bazı dillerin aksine, Python'un if ifadesi başlı başına bir değer üretmez. Sadece ternary biçimi üretir. Rust ya da Kotlin'de yazabileceğin gibi x = if ...: yazamazsın. Koşullu bir değer istiyorsan ternary kullan; koşullu davranış istiyorsan tam bir if bloğu kullan.

Küçük Eksiksiz Bir Örnek

Bir sıcaklığı sınıflandıran kısa bir program:

main.py
Output
Click Run to see the output here.

Mantığın çoğunlukla advice'ın ne olması gerektiğine karar vermek olduğuna dikkat et. Hangi sıcaklık aralığının hangi mesaja karşılık geldiğini bir bakışta söyleyebilirsin. Koşullar yazarken hedeflediğin şekil budur — her dal küçük, genel niyet bariz olmalı.

Sırada Ne Var

Koşullar kodunun bir yol seçmesine izin verir. Döngüler tekrarlamasını sağlar. Sırada: for döngüleri, Python'da açık ara en yaygın döngü ve birkaç sayfa ilerde tanışacağın koleksiyonların doğal ortağı.

Sıkça Sorulan Sorular

Python'da bir if ifadesi nasıl çalışır?

if koşul: ve ardından gelen girintili blok, bloğu yalnızca koşul doğru olduğunda çalıştırır. İsteğe bağlı elif (else if) maddeleri ek koşulları kontrol etmeni sağlar ve isteğe bağlı bir else, başka hiçbir şey eşleşmediğinde çalışır.

Python'da switch ifadesi var mı?

Python 3.10 yapısal desen eşleştirmesi için match/case'i ekledi; bu çoğu switch-ifadesi kullanım durumunu ve daha fazlasını kapsar. Basit dallanma için bir if/elif zinciri hâlâ yaygındır ve gayet iyidir.

Python'da ternary if nedir?

Tek satırlık bir koşullu ifade: result = a if condition else b. Baştan sona okunur — condition doğru olduğunda a'yı, yoksa b'yi değerlendir. Kısa ikiliğin atamaları için kullanışlıdır; dallar uzadıkça okunurluğu azalır.

Coddy ile kodlamayı öğren

BAŞLA