카테고리 카탈로그: "체계적인 학습 파이썬" 종합 카탈로그
이 장에서 데코레이터의 역할은 주로 함수와 클래스의 후속 호출을 래핑하는 데 초점이 맞춰져 있지만 데코레이터 메커니즘은 그보다 더 일반적이라는 점을 기억하는 것이 중요합니다. 데코레이터 메커니즘은 함수와 클래스 생성 직후 사용 가능한 A를 통해 전달됩니다. 객체를 호출하여 전달하기 위한 프로토콜입니다. 따라서 임의의 생성 후 핸들러를 호출하는 데 사용할 수 있습니다.
def decorator(O):
# 保存或增强函数或类O
return O
@decorator
def F():
pass # F= decorator(F)
@decorator
class C():
pass # C= decorator(C)
원래 데코레이팅된 객체가 프록시가 아닌 이런 방식으로 반환되는 한, 함수와 클래스에 대한 후속 호출보다는 함수와 클래스 자체를 관리할 수 있습니다. 후속 기사에서는 데코레이터를 사용하여 호출 가능한 개체를 API에 등록하고 함수를 만들 때 속성을 할당하는 등 이 아이디어를 적용하는 보다 실용적인 예를 살펴보겠습니다.
참고 자료:
[1] Mark Lutz, Python 학습 매뉴얼[M], Machinery Industry Press, 2018.