Python'da if: Koşullu İfadeler Açıklandı

Python'da if ifadelerini nasıl kullanacağınızı öğrenin. Koşullu programlama için sözdizimi, örnekler ve en iyi uygulamalarla eksiksiz kılavuz. İnteraktif kod örnekleri dahil.

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")
Çıktı:
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")
Çıktı:
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")
Çıktı:
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}")
Çıktı:
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")
Çıktı:
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")
Çıktı:
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")
Çıktı:
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")
Çıktı:
Grade: B

Örnek 3: Üyelik Kontrolü

username = "admin"

if username == "admin":
    print("Access granted to admin panel")
    print("Loading admin dashboard...")
Çıktı:
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!

Hazır
main.py
Çıktı Konsolu 0 ms
// 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.