else ve finally
- Python kursu
- Başlangıç
- Ders 101/116
- 4 dk
else ve finally bloklarını öğrenirsin.
else ve finally
else bloğu yalnızca try'da hata OLMADIĞINDA çalışır. finally bloğu her durumda çalışır — hata olsun ya da olmasın:
try:
x = 10 / 2
except ZeroDivisionError:
print("sıfıra bölme")
else:
print(x) # 5.0
finally:
print("bitti") # her zamanelse, try başarılı olduğunda kod çalıştırır. finally, temizlik (dosya kapatma, kaynak bırakma) için kullanılır.
Her ikisi de isteğe bağlıdır ama finally en güvenli bloktur.
else ve finally farkı
else yalnızca try başarılıysa çalışır — hata olursa atlanır. finally ise hata olsa da olmasa da çalışır:
# hata olmazsa: else + finally
# hata olursa: except + finally (else ATLANIR)else içine başarıya bağlı kod koyulur (örneğin sonucu yazdırma). finally içine her durumda çalışması gereken kod koyulur (örneğin dosyayı kapatma).
Bu ayrım, temizlik ve başarı kodunu net biçimde ayırır.
Uygulama try/else/finally bir arada
try bloğu içinde result = 10 / 2 yaz. except ZeroDivisionError: bloğu içinde print("hata") yaz. else: bloğu içinde print(result) yaz. finally: bloğu içinde print("bitti") yaz.
Başlangıç kodu
# try/except/else/finally yaz
# başarılı bölme ve temizlikÖrnek çözüm
try:
result = 10 / 2
except ZeroDivisionError:
print("hata")
else:
print(result)
finally:
print("bitti")Beklenen çıktı
5.0 bitti
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 finally anahtar sözcüğünü tamamla
try:
x = 10 / 2
____:
print("bitti")
try:
x = 10 / 2
finally:
print("bitti")
Açıklama: finally bloğu her durumda çalışır.
2 else/finally eşleştir
| Kavram | Anlamı |
|---|---|
else |
Hata yoksa çalışır |
finally |
Her zaman çalışır |
except |
Hata olursa çalışır |
try |
Korumalı kod |
3 else bloğu ne zaman çalışır?
- Her zaman
- Sadece hata olursa
- Sadece hata olmazsa Doğru cevap
- Hiçbir zaman
Açıklama: else yalnızca try bloğunda hata olmadığında çalışır.