MulaiMulai sekarang secara gratis

Generator HTML

Anda sedang menulis skrip yang secara dinamis menghasilkan HTML untuk sebuah laman web. Sejauh ini, Anda telah menulis dua dekorator yang akan menambahkan tag tebal atau miring ke fungsi apa pun yang mengembalikan string. Namun, Anda menyadari bahwa kedua dekorator ini terlihat sangat mirip. Alih-alih menulis banyak dekorator lain yang serupa, Anda ingin membuat satu dekorator, html(), yang dapat menerima sepasang tag pembuka dan penutup apa pun.

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

Latihan ini adalah bagian dari kursus

Menulis Function di Python

Lihat Kursus

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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 ____
Edit dan Jalankan Kode