CodingTest

[파이썬 코딩 도장] 42.8 심사문제: HTML 태그 데코레이터 만들기

nineDeveloper 2020. 12. 18.
728x90

정답

메서드로 데코레이터 만들기

def html_tag(tag_name):
  def real_decorator(func):
    def wrapper():
      return '<{0}>{1}</{0}>'.format(tag_name,func())
    return wrapper
  return real_decorator

 

클래스로 데코레이터 만들기

class html_tag:
  def __init__(self, tag_name):
    self.tag_name = tag_name

  def __call__(self, func):
    def wrapper():
      return '<{0}>{1}</{0}>'.format(self.tag_name, func())
    return wrapper
728x90

댓글

💲 추천 글