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

Kursinhalt

Mastering Python: Closures and Decorators

Mastering Python: Closures and Decorators

1. Scopes
2. Closure
3. Decorators

book
Challenge: Flexible Type Validation Decorator

Aufgabe

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ösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6
toggle bottom row

book
Challenge: Flexible Type Validation Decorator

Aufgabe

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ösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 6
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?
some-alt