Dekoratörler
İşlevleri değiştirmek veya genişletmek için dekoratörleri kullanmayı öğrenme
Dekoratörler, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 5 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, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 5 dersten oluşur.
decorator'lara Giriş
decorator'lara Giriş
decorator'lar, Python'da işlevlerin veya yöntemlerin davranışını değiştirmenize olanak tanıyan güçlü bir özelliktir. Genellikle işlevlerin kodunu değiştirmeden onlara işlevsellik eklemek için kullanılırlar.
Bu derste decorator'ların ne olduğunu, nasıl kullanılacağını ve kendi decorator'larınızı nasıl oluşturacağınızı öğreneceksiniz.

decorator Nedir?
decorator Nedir?
Bir decorator, başka bir işlevi girdi olarak alan ve ek işlevselliğe sahip yeni bir işlev döndüren bir işlevdir. Genellikle @decorator_name söz dizimiyle kullanılır.
# Basic example of a decorator
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()decorator'lar Nasıl Çalışır
decorator'lar Nasıl Çalışır
Bir decorator kullandığınızda Python, özgün işlevi decorator tarafından döndürülen wrapper işleviyle değiştirir.
# How decorators work
def decorator(func):
def wrapper():
print("Wrapper called")
func()
return wrapper
@decorator
def greet():
print("Greetings!")
print(greet.__name__) # Outputs: wrapper
greet()decorator'ları Argümanlarla Kullanma
decorator'ları Argümanlarla Kullanma
decorator'lar, wrapper işlevinde *args ve **kwargs kullanarak argüman alan işlevlerle çalışabilir:
# Decorator for functions with arguments
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Arguments: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper
@decorator
def add(a, b):
return a + b
print(add(3, 5))Birden Çok decorator'ı Zincirleme Kullanma
Birden Çok decorator'ı Zincirleme Kullanma
Tek bir işlev üzerinde birden çok decorator kullanabilirsiniz. decorator'lar, yukarıdan aşağıya göründükleri sırayla uygulanır:
# Chaining multiple decorators
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def greet():
print("Hello!")
greet()Parametreli Dekoratörler Oluşturma
Parametreli Dekoratörler Oluşturma
Parametreli dekoratörler bağımsız değişkenler alır ve daha esnek işlevler sunar:
# Parameterized decorator
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()Dekoratörlerin Yaygın Kullanım Alanları
Dekoratörlerin Yaygın Kullanım Alanları
Dekoratörler genellikle şu amaçlarla kullanılır:
- İşlev çağrılarını ve bunların bağımsız değişkenlerini günlüğe kaydetmek.
- İşlevlerin yürütülme süresini ölçmek.
- Erişim denetimi yapmak (örneğin, kullanıcı izinlerini denetlemek).
- Performansı artırmak için sonuçları önbelleğe almak.
Python'daki Yerleşik Dekoratörler
Python'daki Yerleşik Dekoratörler
Python'da aşağıdakiler de dâhil olmak üzere bazı yerleşik dekoratörler bulunur:
@staticmethod: Statik bir yöntem tanımlar.@classmethod: Bir sınıf yöntemi tanımlar.@property: Bir özellik yöntemi tanımlar.
decorator'larla İlgili Yaygın Hatalar
decorator'larla İlgili Yaygın Hatalar
Kaçınmanız gereken bazı hatalar şunlardır:
- Özgün işlevin adını ve belge dizesini korumamak (
functools.wrapskullanın). - Basit görevler için gereksiz yere decorator kullanmak.
- Wrapper işlevinde argümanları işlemeyi unutmak.
Ne Öğrendik?
Ne Öğrendik?
Bu derste şunları öğrendiniz:
- Dekoratörlerin ne olduğunu ve Python'da nasıl çalıştıklarını.
- Temel, parametreli ve zincirleme dekoratörleri nasıl oluşturacağınızı ve kullanacağınızı.
- Python'daki yaygın kullanım alanlarını ve yerleşik dekoratörleri.
Harika iş çıkardınız! Şimdi sonraki konuya geçelim.

Sıkça Sorulan Sorular
“Dekoratörler” dersi ücretsiz mi?
Evet — “Dekoratörler” 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 5 dersten oluşur.
“Dekoratörler” dersinde ne öğreneceğim?
İşlevleri değiştirmek veya genişletmek için dekoratörleri kullanmayı öğrenme Learn AI with Python 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.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, 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, 5 dersinin 1. dersidir.
“Dekoratörler” 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 Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python 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
- Dekoratörler
- Üreteçler
- Bağlam Yöneticileri (with Deyimleri)
- Kapsamlı İfadeler (Liste, Küme ve Sözlük)
- Yineleyiciler ve Yinelenebilirler