HTML Oluşturucu
Anlık olarak bir web sayfası için HTML üreten bir betik yazıyorsun. Şu ana kadar, bir dize döndüren herhangi bir fonksiyona kalın veya italik etiketleri ekleyen iki dekoratör yazdın. Ancak, bu iki dekoratörün birbirine çok benzediğini fark ediyorsun. Bir sürü benzer dekoratör yazmak yerine, açılış ve kapanış etiketlerinin herhangi bir çiftini alabilen tek bir dekoratör, html() oluşturmak istiyorsun.
def bold(func):
@wraps(func)
def wrapper(*args, **kwargs):
msg = func(*args, **kwargs)
return '<b>{}</b>'.format(msg)
return wrapper
def italics(func):
@wraps(func)
def wrapper(*args, **kwargs):
msg = func(*args, **kwargs)
return '<i>{}</i>'.format(msg)
return wrapper
Bu egzersiz
Python'da Fonksiyon Yazımı
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def html(open_tag, close_tag):
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
msg = func(*args, **kwargs)
return '{}{}{}'.format(open_tag, msg, close_tag)
# Return the decorated function
return ____
# Return the decorator
return ____