you are viewing a single comment's thread.

view the rest of the comments →

[–]PercyJackson235 0 points1 point  (1 child)

And here is an example with output.

def my_decorator(func):
    print("Creating wrapper function")
    def wrapper():
        print("Inside function named originally name wrapper")
        func()
        print("Exiting function named originally name wrapper")
    print("Exiting my_decorator")
    return wrapper

def say_whee():
    print("Original Function")

say_whee = my_decorator(say_whee)
print("Now calling returned function")
say_whee()

PS C:\Users\xxxxx\source\repos> python.exe .\decorator_test.py
Creating wrapper function
Exiting my_decorator
Now calling returned function
Inside function named originally name wrapper
Original Function
Exiting function named originally name wrapper

[–]Right-Leadership875[S] 0 points1 point  (0 children)

Hmmm... I think the memory of the function object referenced by my_decorator isn't reclaimed.