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ç: 499999500000Generatö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
- Fonksiyon çağrı sayısını sayan dekoratör yazın
- Sonsuz asal sayı üreten generator yazın