파이썬-모든 내장 데코레이터는 무엇입니까?
내가 알고 @staticmethod
, @classmethod
하고 @property
있지만 흩어져 문서를 통해. 파이썬에 내장 된 모든 함수 데코레이터는 무엇입니까? 문서에 있습니까? 어딘가에 유지되는 최신 목록이 있습니까?
나는 그렇게 생각하지 않는다. 데코레이터는 일반적인 기능과 다르지 않으며 더 멋진 방식으로 만 호출 할 수 있습니다.
이들 모두를 찾으 려면 내장 함수 목록을 검색해 보십시오. Python 용어집 에서 볼 수 있듯이 데코레이터 구문은 구문 설탕 일뿐입니다. 다음 두 정의가 동일한 함수를 생성하기 때문입니다 (이 예제는 용어집에서 복사).
def f(...):
...
f = staticmethod(f)
@staticmethod
def f(...):
따라서 다른 함수를 반환하는 내장 함수를 데코레이터로 사용할 수 있습니다. 질문은-그렇게 사용하는 것이 합리적입니까? :-)
functools 모듈에는 데코레이터로 사용할 수있는 몇 가지 함수가 포함되어 있지만 요청한 내장 기능은 아닙니다.
내장되어 있지는 않지만 예제 데코레이터 라이브러리 는 매우 좋습니다.
Abgan이 말했듯 이 내장 함수 목록은 아마도보기에 가장 좋은 곳일 것입니다. 데코레이터도 클래스로 구현할 수 있기 때문에 포괄적 인 것은 아닙니다.
데코레이터는 함수를 반환 할 필요조차 없습니다. 나는 전에 사용 @atexit.register
했다.
모든 데코레이터 목록 같은 것은 없습니다. 모든 기능의 목록은 없습니다. 모든 수업 목록이 없습니다.
데코레이터는 함수, 메서드 또는 클래스에서 공통적 인 측면을 정의하기위한 편리한 도구입니다. 내장 데코레이터가 있습니다. 또한 멋지고 쓸모없는 데코레이터가 많이 있습니다. 같은 방식으로 멋지고 쓸모없는 수업이 많이 있습니다.
참고 URL : https://stackoverflow.com/questions/480178/python-what-are-all-the-built-in-decorators
'program story' 카테고리의 다른 글
Visual Studio 2012 및 Entity Framework 5에서 단위 테스트를 위해 LocalDb를 설정하는 방법 (0) | 2020.12.02 |
---|---|
rdtscp, rdtsc : 메모리와 CPUID / rdtsc의 차이점은 무엇입니까? (0) | 2020.12.02 |
Chromecast Receiver Emulator 또는 개발 용 수신기 역할을하는 대체 앱이 있습니까? (0) | 2020.12.02 |
CSS를 완벽하게 지원하는 오픈 소스 HTML-PDF 렌더러 (0) | 2020.12.02 |
C # 컴파일러에서 덕 타이핑 (0) | 2020.12.02 |