Python'daki if ifadesi, yalnızca belirli bir koşul karşılandığında bir kod bloğunu çalıştıran koşullu bir ifadedir. True veya False döndüren bir boolean ifadesini değerlendirir ve koşul True olduğunda girintili kod bloğunu çalıştırır. Python'un if ifadeleri, programlarınızda karar vermeyi mümkün kılar ve değişen koşullara dayalı farklı kod yollarına izin verir.
Temel if İfadesi Sözdizimi
Python'da bir if ifadesinin sözdizimi basittir:
if condition:
# code to execute if condition is True
statement condition, True veya False olarak değerlendirilen bir boolean ifadesidir (number > 5 veya name == "Alice" gibi). Koşul True olarak değerlendirilirse, girintili kod bloğu çalıştırılır; False ise, Python bloğu tamamen atlar.
Örnek 1: Basit if İfadesi
number = 10
if number > 0:
print("The number is positive") The number is positive
Örnek 2: False Koşullu if İfadesi
number = -5
if number > 0:
print("The number is positive")
print("This line always executes") This line always executes
İkinci örnekte, -5 0'dan büyük olmadığı için if bloğu içindeki print ifadesi atlanır.
if İfadelerinde Girinti
Python, kod bloklarının kapsamını tanımlamak için girintiye (satır başındaki boşluk) güvenir, süslü parantez kullanan diğer dillerden farklı olarak. Bir if bloğu içindeki tüm ifadeler aynı miktarda girintili olmalıdır, genellikle 4 boşluk.
Doğru Girinti:
age = 20
if age >= 18:
print("You are an adult")
print("You can vote")
print("You have full legal rights") Yanlış Girinti (hata verecektir):
age = 20
if age >= 18:
print("You are an adult") # IndentationError Doğru girinti kullanmazsanız, Python hangi ifadelerin if bloğuna ait olduğunu belirleyemediği için bir IndentationError yükseltecektir.
if İfadeleriyle Karşılaştırma Operatörleri
Python, if ifadelerinde kullanılmak üzere boolean değerler döndüren standart karşılaştırma operatörlerini destekler:
==- Eşittir!=- Eşit değildir<- Küçüktür<=- Küçük veya eşittir>- Büyüktür>=- Büyük veya eşittir
Örnek: Farklı Karşılaştırma Operatörlerini Kullanma
a = 33
b = 200
if b > a:
print("b is greater than a")
if a != b:
print("a and b are not equal")
if a <= 50:
print("a is 50 or less") b is greater than a a and b are not equal a is 50 or less
if Bloğunda Birden Fazla İfade
Hepsi aynı girinti seviyesine sahip olduğu sürece bir if bloğu içinde birden fazla ifade ekleyebilirsiniz.
Örnek:
score = 95
if score >= 90:
print("Excellent work!")
print("You earned an A grade")
grade = "A"
print(f"Your grade is: {grade}") Excellent work! You earned an A grade Your grade is: A
if İfadelerinde Boolean Değişkenler
Boolean değişkenler, karşılaştırma operatörleri olmadan doğrudan if ifadelerinde kullanılabilir.
Örnek:
is_logged_in = True
if is_logged_in:
print("Welcome back!")
is_raining = False
if is_raining:
print("Take an umbrella")
else:
print("Enjoy the sunshine") Welcome back! Enjoy the sunshine
Python, boolean bağlamda belirli değerleri False olarak değerlendirir: 0, boş dizeler "", None ve [] veya {} gibi boş koleksiyonlar. Diğer tüm değerler True olarak değerlendirilir.
Truthy ve Falsy Değerler
Python, koşullu ifadelerde birçok değer türünü True veya False olarak değerlendirebilir:
Falsy değerler (False olarak değerlendirilir):
0(sıfır)""(boş dize)None[](boş liste)(boş sözlük)()(boş demet)
Truthy değerler (True olarak değerlendirilir):
- Sıfır olmayan herhangi bir sayı (pozitif veya negatif)
- Boş olmayan herhangi bir dize
- Boş olmayan koleksiyonlar
Örnek:
name = ""
if name:
print(f"Hello, {name}")
else:
print("Name is empty")
items = [1, 2, 3]
if items:
print("List has items") Name is empty List has items
Tek Satırlık if İfadesi
Basit koşullar için, bir if ifadesini tek satırda yazabilirsiniz:
Standart Format:
temperature = 30
if temperature > 25:
print("It's hot outside") Kompakt Format:
temperature = 30
if temperature > 25: print("It's hot outside") Her iki sürüm de aynı çıktıyı üretir, ancak tek satırlık format basit ifadeler için daha özlüdür.
Yaygın Kullanım Durumları
Kullanım Durumu 1: Kullanıcı Girişini Doğrulama
age = int(input("Enter your age: "))
if age >= 18:
print("You are eligible to vote") Kullanım Durumu 2: Çift veya Tek Sayıları Kontrol Etme
number = 7
if number % 2 == 0:
print(f"{number} is even") Kullanım Durumu 3: Şifre Doğrulama
password = "secret123"
if len(password) >= 8:
print("Password is strong enough") Kullanım Durumu 4: Liste İçeriğini Kontrol Etme
shopping_cart = ["apple", "banana", "milk"]
if "milk" in shopping_cart:
print("Milk is in your cart") Kaçınılması Gereken Yaygın Hatalar
Hata 1: İki Nokta Üst Üsteyi Unutma
# Wrong
if number > 0
print("Positive")
# Correct
if number > 0:
print("Positive") Hata 2: == Yerine = Kullanma
x = 5
# Wrong (assignment, not comparison)
if x = 5:
print("x is 5")
# Correct
if x == 5:
print("x is 5") Hata 3: Tutarsız Girinti
# Wrong
if True:
print("Line 1")
print("Line 2") # Different indentation level
# Correct
if True:
print("Line 1")
print("Line 2") Uygulama Örnekleri
Örnek 1: Sıcaklık Kontrolcüsü
temperature = 22
if temperature > 30:
print("It's very hot")
if temperature > 20:
print("It's warm")
if temperature < 10:
print("It's cold") It's warm
Örnek 2: Not Atama
marks = 85
if marks >= 90:
print("Grade: A")
if marks >= 80 and marks < 90:
print("Grade: B")
if marks >= 70 and marks < 80:
print("Grade: C") Grade: B
Örnek 3: Üyelik Kontrolü
username = "admin"
if username == "admin":
print("Access granted to admin panel")
print("Loading admin dashboard...") Access granted to admin panel Loading admin dashboard...
Kendiniz Deneyin
Aşağıdaki kodu değiştirerek öğrendiklerinizi uygulayın. Farklı çıktılar görmek için değerleri ve koşulları değiştirmeyi deneyin!
// Sonuçları görmek için "Kodu Çalıştır"a tıklayın
İlgili Konular
Sık Sorulan Sorular
Python'da if ve if else arasındaki fark nedir?
Bir if ifadesi yalnızca koşul True olduğunda kod çalıştırır. Bir if else ifadesi, koşul False olduğunda çalıştırılan alternatif bir kod bloğu sağlar.
Python if ifadelerinde koşulun etrafında parantez kullanmam gerekir mi?
Hayır, parantezler Python'da isteğe bağlıdır. Hem if (x > 5): hem de if x > 5: geçerlidir, ancak ikincisi daha pythonic'tir.
Tek bir if ifadesinde birden fazla koşul kullanabilir miyim?
Evet, birden fazla koşulu birleştirmek için and, or ve not gibi mantıksal operatörleri kullanabilirsiniz: if age >= 18 and has_license:.
Bir if ifadesinden sonra kodu girintilemezsem ne olur?
Python, kod bloklarını tanımlamak için girinti gerektirdiğinden bir IndentationError yükseltecektir.