Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

냥집사의 개발일지

Python - 파이썬 기본 문법 정리 (decorator) 본문

Python

Python - 파이썬 기본 문법 정리 (decorator)

깅햄찌 2022. 10. 11. 21:43
반응형

안녕하세요 오늘은 파이썬의 decorator에 대해 정리해보겠습니다.  

decorator함수는 함수를 다른 함수로 반환합니다.

여러 예제를 살펴보면서 decorator에 대해 알아봅시다~

 

1) 수동으로 decorator 사용하기

def add_ints(a,b):
    return a + b

def document_function(func):
    def about_function(*args, **kwargs):
        print('function_name : ',func.__name__)
        print('positinoal arguments : ', args)
        print('keyword arguments : ', kwargs)
        result = func(*args, **kwargs)
        print('Result : ',result)
        return result
    return about_function

decorator_func = document_function(add_ints)

print(decorator_func(7,12))

1) document_function은 decorator 함수로 매개변수로 할당되는 함수를 about function으로 치환한다. 

2) *args는 위치 인자로 일반적인 매개변수들을 반환한다. 

3) **kwargs는 키워드 인자(ex. friends = 'Jeff')들을 dictionary로 반환한다.  

4) 아래 결과처럼 decorator_func은 add_ints를 about_functinon으로 치환하였습니다.

2) 자동으로 decorator 사용하기

def document_function(func):
    def about_function(*args, **kwargs):
        print('function_name : ',func.__name__)
        print('positinoal arguments : ', args)
        print('keyword arguments : ', kwargs)
        result = func(*args, **kwargs)
        print('Result : ',result)
        return result
    return about_function

@document_function
def add_ints(a,b):
    return a + b

print(add_ints(7,12))

1) 자동으로 decorator 사용하는 방법

     @+'decorator의 이름'

2) 함수 위에 @decorator 함수를 선언만 해줘도 add_ints 함수가 치환되는 것을 확인할 수 있습니다. 

오늘은 파이썬의 decorator에 대해 정리해보았습니다.  

다음 포스팅에서 만나요~

Comments