I am trying to wrap my head around a python decorator. But I don’t understand something. This is my code, my question is related to func_decorate2(decorator with parameter).
def func_decorate(f):
def wrapper():
print('wrapped');
f()
return wrapper
@func_decorate
def myfunc1():
print('func1')
def func_decorate2(tag_name):
def _(f):
print('underscore')
return f
return _
@func_decorate2('p')
def myfunc2():
print('func2')
print('call func1')
myfunc1()
print('call func2')
myfunc2()
It will display:
underscore
call func1
wrapped
func1
call func2
func2
Why in this example do I have underscore?
thanks
jobou source
share