I have a decorator that checks a function's argument for int
type.
def check_type_int(old_function):
def new_function(arg):
if not isinstance(arg, int):
print 'Bad Type' # raise TypeError('Bad Type')
else:
old_function(arg)
return new_function
When I run a decorated function, it returns None
instead of an int
value.
@check_type_int
def times2(num):
return num*2
times2('Not A Number') # prints "Bad Type"
print times2(2) # prints "None"
The last line should print 4
. Can someone please spot my mistake? Thanks.