데코레이터가 매개변수를 사용할 수 있나요?
코드가 인수(insurance_mode)와 함께 데코레이터(@execute_complete_reservation)를 사용하려고 시도했지만 실패합니다. . 이는 매개변수가 있는 데코레이터의 구문이 다르기 때문에 발생합니다.
수정된 데코레이터 구문:
매개변수가 있는 데코레이터는 함수를 인수로 취한 후 다른 함수를 반환하는 함수를 반환합니다. 기능. 기본적으로 일반 데코레이터를 반환합니다.
def decorator_factory(argument): def decorator(function): def wrapper(*args, **kwargs): # Additional code function(*args, **kwargs) # More additional code return wrapper return decorator
데코레이터 적용:
이 구문을 사용하면 원본 코드를 다음과 같이 수정할 수 있습니다.
@execute_complete_reservation_factory(True) def test_booking_gta_object(self): self.test_select_gta_object()
수정된 코드에서 @execute_complete_reservation_factory는 다음과 같은 데코레이터를 반환하는 팩토리 함수입니다. 실제 테스트 함수를 인수로 사용합니다.
위 내용은 Python 데코레이터가 매개변수를 허용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!