반응형
반복하는 내용을 함수로 묶어 여러 함수에서 일괄적으로 사용할 때 사용
def type_checker(func):
def inner_function(digit1, digit2):
if type(digit1) != int or type(digit2) != int:
print('only integer support')
return
func(digit1,digit2)
return inner_function
@type_checker
def test(digit1,digit2):
print(digit1+digit2)
이런식으로 @만을 이용하여 함수에 적용할 수 있다.
@를 이용하면 type_checker안에 파라미터로 test 함수가 들어가는 방식이다.
안에 파라미터가 들어간 데코레이터도 만들 수 있다
def mark_html(tag):
def deco(func):
def inner_func(title):
return '<'+tag+'>'+func(title)+'</'+tag+'>'
return inner_func
return deco
@mark_html('h1')
def print_title(title):
return title
title = '테스트'
print(print_title(title))
'파이썬' 카테고리의 다른 글
[Python] list, set, dict 컨테이너 (0) | 2020.10.09 |
---|---|
[Python] for else (0) | 2020.10.06 |
First class function, Closure (0) | 2020.09.20 |
char 형 -> int 형 변환 (0) | 2020.09.19 |