Python
93 ~30 dk

Dekoratörler ve Generatörler

Dekoratörler (Decorators)

Dekoratörler, mevcut fonksiyonlara ek özellik kazandırır.

import time

def sure_olc(fonksiyon):
    def wrapper(*args, **kwargs):
        baslangic = time.time()
        sonuc = fonksiyon(*args, **kwargs)
        bitis = time.time()
        print(f"⏱️ {fonksiyon.__name__} {bitis-baslangic:.4f} saniye sürdü")
        return sonuc
    return wrapper

@sure_olc
def buyuk_toplam(n):
    return sum(range(n))

sonuc = buyuk_toplam(1000000)
print(f"Sonuç: {sonuc}")
>>> python dekorator.py
⏱️ buyuk_toplam 0.0312 saniye sürdü
Sonuç: 499999500000

Generatörler (Generators)

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

# Kullanım
for sayi in fibonacci(10):
    print(sayi, end=" ")
# 0 1 1 2 3 5 8 13 21 34

🎯 Alıştırmalar

  1. Fonksiyon çağrı sayısını sayan dekoratör yazın
  2. Sonsuz asal sayı üreten generator yazın

Yorumlar 0

Giriş yapın — Yorumlarınız hemen yayınlansın
Henüz yorum yapılmamış. İlk yorumu siz yapın!