Challenge: Flexible Type Validation Decorator
Swipe to start coding
Create a flexible decorator for validating data types:
-
Define the validate decorator, which should take data types (
str
,int
,bool
, etc.) as arguments and annotate them using thetype
keyword. -
Define the
inner
function that takes a function (func
) as an argument. -
Define the
wrapper
function that takes*args
. -
Check if each argument is an instance of one of the specified
types
. -
Functions should return:
- The
wrapper()
should return the result offunc()
with the provided arguments. - The
inner()
should returnwrapper
without calling it. - The
validate()
should returninner()
without calling it.
-
Validate the
snake_string()
function for thestr
data type using the@validate
decorator. -
Validate the
multiply()
function for theint
orfloat
data types using the@validate
decorator.
Solution
Thanks for your feedback!
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Summarize this chapter
Explain the code in file
Explain why file doesn't solve the task
Awesome!
Completion rate improved to 6.67
Challenge: Flexible Type Validation Decorator
Swipe to show menu
Swipe to start coding
Create a flexible decorator for validating data types:
-
Define the validate decorator, which should take data types (
str
,int
,bool
, etc.) as arguments and annotate them using thetype
keyword. -
Define the
inner
function that takes a function (func
) as an argument. -
Define the
wrapper
function that takes*args
. -
Check if each argument is an instance of one of the specified
types
. -
Functions should return:
- The
wrapper()
should return the result offunc()
with the provided arguments. - The
inner()
should returnwrapper
without calling it. - The
validate()
should returninner()
without calling it.
-
Validate the
snake_string()
function for thestr
data type using the@validate
decorator. -
Validate the
multiply()
function for theint
orfloat
data types using the@validate
decorator.
Solution
Thanks for your feedback!
Awesome!
Completion rate improved to 6.67single