Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Challenge: Flexible Type Validation Decorator | Decorators
Mastering Python: Closures and Decorators

Svep för att visa menyn

book
Challenge: Flexible Type Validation Decorator

Uppgift

Swipe to start coding

Create a flexible decorator for validating data types:

  1. Define the validate decorator, which should take data types (str, int, bool, etc.) as arguments and annotate them using the type keyword.

  2. Define the inner function that takes a function (func) as an argument.

  3. Define the wrapper function that takes *args.

  4. Check if each argument is an instance of one of the specified types.

  5. Functions should return:

  • The wrapper() should return the result of func() with the provided arguments.
  • The inner() should return wrapper without calling it.
  • The validate() should return inner() without calling it.
  1. Validate the snake_string() function for the str data type using the @validate decorator.

  2. Validate the multiply() function for the int or float data types using the @validate decorator.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 6
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Challenge: Flexible Type Validation Decorator

Uppgift

Swipe to start coding

Create a flexible decorator for validating data types:

  1. Define the validate decorator, which should take data types (str, int, bool, etc.) as arguments and annotate them using the type keyword.

  2. Define the inner function that takes a function (func) as an argument.

  3. Define the wrapper function that takes *args.

  4. Check if each argument is an instance of one of the specified types.

  5. Functions should return:

  • The wrapper() should return the result of func() with the provided arguments.
  • The inner() should return wrapper without calling it.
  • The validate() should return inner() without calling it.
  1. Validate the snake_string() function for the str data type using the @validate decorator.

  2. Validate the multiply() function for the int or float data types using the @validate decorator.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 6
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt