Menu
Coddy logo textTech

Dekoratörlere Giriş

Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 9 / 64.

Dekoratörler, fonksiyonları ve sınıfları orijinal kodlarını değiştirmeden modifiye etmenin veya geliştirmenin bir yoludur. @ sembolünü kullanırlar.

İşte basit bir dekoratör örneği: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Dekoratörü @ kullanarak uygulayın:

@my_decorator
def say_hello():
    print("Hello!")

Dekore edilen fonksiyonu çağırın:

say_hello()

Çıktı:

Before function runs
Hello!
After function runs

@my_decorator kullanımı, aşağıdakini yazmakla eşdeğerdir:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Ancak @ söz dizimi çok daha temiz ve okunması daha kolaydır.

Önemli Nokta: Dekoratörler, orijinal fonksiyon kodunu değiştirmeden ekstra işlevsellik eklemek için fonksiyonları sarmalar

Kopya kağıdı

Dekoratörler, @ sembolünü kullanarak fonksiyonları orijinal kodlarını değiştirmeden modifiye eder veya geliştirirler.

Temel dekoratör yapısı:

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

@ kullanarak dekoratörü uygulayın:

@my_decorator
def say_hello():
    print("Hello!")

@my_decorator sözdizimi şuna eşdeğerdir:

say_hello = my_decorator(say_hello)

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Object Oriented Programming bölümündeki tüm dersler