Please what does func() mean in python when used inside a function

38.6k Views Asked by At

Please what does func() mean in python when used inside a function,For example in the code below.

def identity_decorator(func):
    def wrapper():
        func()
    return wrapper
2

There are 2 best solutions below

0
On BEST ANSWER

func is an argument given to the function identity_decorator().

The expression func() means "call the function assigned to the variable func."

The decorator is taking another function as an argument, and returning a new function (defined as wrapper) which executes the given function func when it is run.

Here is some information about decorators.

0
On

I was wondering the same! You can see how it works with the follow example:

def make_pretty(func):
    def inner():
       print("I got decorated")
       func()
    return inner

def ordinary():
    print("I am ordinary")

pretty = make_pretty(ordinary)
pretty()

Output
I got decorated
I am ordinary 

Now when you remove the func() and you try to rerun it:

def make_pretty(func):
    def inner():
       print("I got decorated")
    return inner

def ordinary():
    print("I am ordinary")

pretty = make_pretty(ordinary)
pretty()

Output
I got decorated

You see the the decorated function was not called. Please have a look here https://www.programiz.com/python-programming/decorator