Menu
Coddy logo textTech

데코레이터 소개

Coddy Python 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 64개 중 9번째.

데코레이터는 원래 코드를 변경하지 않고 함수와 클래스를 수정하거나 향상시키는 방법입니다. 이들은 @ 기호를 사용합니다.

다음은 간단한 데코레이터의 예입니다: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

@를 사용하여 데코레이터를 적용합니다:

@my_decorator
def say_hello():
    print("Hello!")

데코레이터가 적용된 함수를 호출합니다:

say_hello()

출력:

Before function runs
Hello!
After function runs

@my_decorator는 다음과 같이 작성하는 것과 동일합니다:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

하지만 @ 구문은 훨씬 더 깔끔하고 읽기 쉽습니다.

핵심 포인트: 데코레이터는 원본 함수 코드를 수정하지 않고 추가 기능을 더하기 위해 함수를 감싸는 역할을 합니다.

치트 시트

데코레이터는 @ 기호를 사용하여 원래의 코드를 변경하지 않고 함수를 수정하거나 향상시킵니다.

기본 데코레이터 구조:

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

@를 사용하여 데코레이터 적용하기:

@my_decorator
def say_hello():
    print("Hello!")

@my_decorator 구문은 다음과 동일합니다:

say_hello = my_decorator(say_hello)

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Object Oriented Programming의 모든 레슨