Jelentkezés Telefonon: +36/30-820-1750ONLINE

Hírek

python decorator 예제

Kategória: Uncategorized

먼저, 자신의 데코레이터를 작성하는 방법에 대해 설명해 보겠습니다. 이 다음 예제는 매우 유용하지 않을 수 있습니다. 파이썬 코드를 느리게하려는 이유는 무엇입니까? 가장 일반적인 사용 사례는 웹 페이지와 같은 리소스가 변경되었는지 여부를 지속적으로 확인하는 함수의 속도를 제한하려는 것입니다. @slow_down 데코레이터는 장식 된 함수를 호출하기 전에 1 초 동안 잠을 잘 것입니다 : 데코레이터는 정확히 하나의 인수를 취하므로 데코레이터를 만들 수있는 공장이 필요합니다. 이전 예제와 달리 팩터리 함수가 괄호(count=5)@mydecorator_not_actually 사용하여 실제 데코레이터를 생성하는 방법을 확인합니다. 이렇게 하면 웹 프레임워크에 인증을 추가하는 방법에 대한 아이디어가 있지만 일반적으로 이러한 유형의 데코레이터를 직접 작성해서는 안 됩니다. Flask의 경우 대신 플라스크 로그인 확장을 사용할 수 있으므로 보안 및 기능이 더 많이 추가됩니다. 출력은 아직 get_text가 될 것으로 예상되었으며, get_module____ 및 __module___의 속성은 래퍼(func_wrapper)의 특성에 의해 재정의되었습니다. 분명히 우리는 func_wrapper 내에서 그들을 재설정 할 수 있지만 파이썬은 훨씬 더 좋은 방법을 제공합니다. 경우에 따라 인수를 데코레이터에 전달하는 것이 유용합니다.

예를 들어 @do_twice @repeat(num_times) 데코레이터로 확장할 수 있습니다. 그런 다음 데코레이팅된 함수를 실행하는 횟수를 인수로 지정할 수 있습니다. 이제 일반 가져오기를 수행하여 다른 파일에서 이 새 데코레이터를 사용할 수 있습니다. 일관성을 얻으려면 데코레이터 역할을 할 수 있는 함수 개체를 반환하려면 반복(num_times=4)이 필요합니다. 다행히도, 당신은 이미 함수를 반환하는 방법을 알고! 일반적으로 다음과 같은 것을 원합니다 : 참고 : Singleton 클래스는 다른 언어와 마찬가지로 파이썬에서 자주 사용되지 않습니다. 단일 톤의 효과는 일반적으로 모듈의 전역 변수로 더 잘 구현됩니다. 다음 @debug 데코레이터는 함수가 호출될 때마다 함수가 호출되는 인수와 반환 값을 인쇄합니다. 이제 say_whee() 및 greet() 예제가 모두 작동합니다: @my_decorator 구문을 사용할 때 단일 함수를 매개 변수로 래퍼 함수를 적용하기 때문에 기억합니다. 이를 염두에 두고 래퍼 함수를 반환하는 함수를 작성할 수 있습니다. 위의 예제 앞의 예제를 살펴보면 예제의 데코레이터가 얼마나 중복되는지 알 수 있습니다.

3 데코레이터 (div_decorate, p_decorate, strong_decorate) 각각 동일한 기능을 가지고 있지만 다른 태그로 문자열을 감싸고 있습니다. 우리는 확실히 그보다 훨씬 더 잘 할 수 있습니다. 태그를 문자열로 래핑하는 보다 일반적인 구현을 하지 않는 이유는 무엇입니까? 네 제발! @register 데코레이터를 사용하여 고유한 선별된 흥미로운 변수 목록을 만들어 전역()에서 일부 함수를 효과적으로 직접 선택할 수 있습니다. 다음 내용으로 decorators.py라는 파일을 만듭니다: 첫 번째 예제가 어떻게 교차되었는지 Crestfallen. 다음 첫 번째 예는 너무 복잡합니다. 중첩 장식! 내 뇌는 흐릿하다. 안녕하세요 세계 데코레이터가 가능하고 여기에 가정을받을 자격이 제안합니다.