0Pricing
Python Academy · Ders

Özel Durumları Anlama

Özel durumların ne olduğunu ve Python'ın bunları nasıl oluşturduğunu öğrenin.

Özel Durumları Anlama, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

İstisnalar, Python'da çalışma zamanındaki hataları bildirme ve yönetme mekanizmasıdır.

İstisna Nedir?

İstisna, programın normal akışını bozan bir olaydır. Hatalar oluştuğunda Python istisna oluşturur; örneğin sıfıra bölme işleminde.
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

İstisna Hiyerarşisi

Tüm istisnalar BaseException sınıfından kalıtılır. Kullanıcıya gösterilen istisnaların çoğu Exception sınıfından kalıtılır. Belirli türler arasında ValueError, TypeError, KeyError vb. bulunur.
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

Yaygın Yerleşik İstisnalar

TypeError: yanlış tür. ValueError: doğru tür, yanlış değer. KeyError: sözlük anahtarı eksik. IndexError: liste dizini aralık dışında. AttributeError: böyle bir öznitelik yok.
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

İz Geri Bildirimi

Bir istisna yönetilmediğinde Python bir iz geri bildirimi yazdırır: en alttan (en yeni) en üste doğru çağrı yığını. Bunu okumayı öğrenin.
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

İstisna Nesnesi

Her istisna bir ileti taşır. str(e) veya e.args açıklamayı verir. except içinde şu şekilde erişin: except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

Birden Çok Türü Yakalama

except (TypeError, ValueError): tek bir yan tümcede iki türden herhangi birini yakalar.
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

ExceptionGroup (3.11+)

Python 3.11, aynı anda oluşan birden çok istisna için ExceptionGroup özelliğini ekler; bunlar except* söz dizimiyle yönetilir.
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

Uyarılar ve İstisnalar

import warnings; warnings.warn('msg'), istisna oluşturmadan bir uyarı verir. Kullanımdan kaldırma bildirimleri ve hafif hatalar için kullanın.
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

Bir except bloğunun içinde sys.exc_info(), (type, value, traceback) döndürür; tüm istisna ayrıntılarını günlüğe kaydetmek için kullanışlıdır.
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

İstisna Zincirleme

raise NewError('msg') from original_exc, istisnaları birbirine bağlar. __cause__ özniteliği bunları ilişkilendirir.
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

Hızlı Kontrol

Var olmayan bir anahtarla sözlüğe eriştiğinizde hangi istisna oluşturulur?

Özet

İstisnalar BaseException sınıfından kalıtılır. İz geri bildirimlerini alttan üste okuyun. except as e ile yakalayın. Yaygın türler: ValueError, TypeError, KeyError, IndexError, AttributeError.

Devam Edin

Harika çalıştınız! İlerlemenizi sürdürmek için sonraki derse geçin.

Sıkça Sorulan Sorular

“Özel Durumları Anlama” dersi ücretsiz mi?

Evet — “Özel Durumları Anlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Özel Durumları Anlama” dersinde ne öğreneceğim?

Özel durumların ne olduğunu ve Python'ın bunları nasıl oluşturduğunu öğrenin. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Özel Durumları Anlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Özel Durumları Anlama
  2. try / except / else / finally
  3. Özel Durum Oluşturma ve Yeniden Oluşturma
  4. Özel Durum Sınıfları
← Python Academy Sayfasına Dön