데코레이터 소개
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)직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.