markdown 데커레이터#python #tutorial

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 데커레이터#python #tutorial相关的知识,希望对你有一定的参考价值。

# 데커레이터
데커레이터는 하나의 함수를 또 다른 함수로 반환하는 함수이다.
아래 documnet_it() 함수는 다음과 같이 데커레이터를 정의한다.
```python
def document_it(func):
    def new_function(*args, **kwargs):
        print('Running function:', func.__name__)
        print('Positional arguments:', args)
        print('Keyword arguments:', kwargs)
        
        result = func(*args, **kwargs)
        print('Result:', result)
        return result
    return new_function

# cooler_add_inits = document_it(add_inits)   # 데커레이터를 수동으로 할당
# cooler_add_inits(3, 5)

@document_it        # 데커레이터를 자동으로 할당
def add_inits(a, b):
    return a + b

print(add_inits(3, 5))
```

함수는 여러 개의 데커레이터를 가질 수 있다. 실행 순서는 함수에서 가장 가까운 데커레이터 부터 실행된다.
```python
def square_it(func):
    def new_function(*args, **kwargs):
        result = func(*args, **kwargs)
        return result * result
    return new_function

@document_it
@square_it
def add_inits(a, b):
    return a + b

add_inits(3, 5)
```
```
Running function: new_function
Positional arguments: (3, 5)
Keyword arguments: {}
Result: 64
64
```

데코레이터의 순서를 바꾸면 결과는 같지만 중간 과정이 바뀐다.
```python
@square_it
@document_it
def add_inits(a, b):
    return a + b

print(add_inits(3, 5))
```
```
Running function: add_inits
Positional arguments: (3, 5)
Keyword arguments: {}
Result: 8
64
```

以上是关于markdown 데커레이터#python #tutorial的主要内容,如果未能解决你的问题,请参考以下文章

markdown [MySQL]데이터타입

sql mysql맥에서파일로데이터넣기(file into mysql)

css wg스킨의커뮤니티이이지기존리뷰영역

scss [CSS] Image Grayscale(이미지그레이스케일로변환)

css 갤러리위젯에서레이아웃이틀어지는문제수정

一夫 金恒 先生 墓所探訪鶴山先生이