king alua
king alua

Reputation: 203

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

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

Upvotes: 20

Views: 42071

Answers (2)

khelwood
khelwood

Reputation: 59113

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.

Upvotes: 23

Zioalex
Zioalex

Reputation: 4303

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

Upvotes: 18

Related Questions