HTML जेनरेटर
आप एक ऐसा स्क्रिप्ट लिख रहे हैं जो वेबपेज के लिए HTML ऑन-द-फ्लाई जेनरेट करता है। अभी तक, आपने दो डेकोरेटर लिखे हैं जो किसी भी ऐसे फंक्शन में bold या italics टैग जोड़ देते हैं जो एक string लौटाता है। हालांकि, आप देखते हैं कि ये दोनों डेकोरेटर काफी समान दिखते हैं। कई और ऐसे ही दिखने वाले डेकोरेटर लिखने के बजाय, आप एक ही डेकोरेटर html() बनाना चाहते हैं, जो किसी भी ओपनिंग और क्लोजिंग टैग की जोड़ी ले सके।
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
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Functions लिखना
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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 ____