def decorator_factory(func, enter_message, exit_message):
# We're going to return this decorator
def simple_decorator(func):
def wrapper():
print enter_message
func()
print exit_message
return wrapper
return simple_decorator
@decorator_factory("How does inner function", "know what f() is?")
def hello():
print "Hello World"
hello()
ZGVmIGRlY29yYXRvcl9mYWN0b3J5KGZ1bmMsIGVudGVyX21lc3NhZ2UsIGV4aXRfbWVzc2FnZSk6CiAgICAjIFdlJ3JlIGdvaW5nIHRvIHJldHVybiB0aGlzIGRlY29yYXRvcgogICAgZGVmIHNpbXBsZV9kZWNvcmF0b3IoZnVuYyk6CiAgICAgICAgZGVmIHdyYXBwZXIoKToKICAgICAgICAgICAgcHJpbnQgZW50ZXJfbWVzc2FnZQogICAgICAgICAgICBmdW5jKCkKICAgICAgICAgICAgcHJpbnQgZXhpdF9tZXNzYWdlCgogICAgICAgIHJldHVybiB3cmFwcGVyCgogICAgcmV0dXJuIHNpbXBsZV9kZWNvcmF0b3IKCkBkZWNvcmF0b3JfZmFjdG9yeSgiSG93IGRvZXMgaW5uZXIgZnVuY3Rpb24iLCAia25vdyB3aGF0IGYoKSBpcz8iKQpkZWYgaGVsbG8oKToKICAgIHByaW50ICJIZWxsbyBXb3JsZCIKCmhlbGxvKCk=