“”"
装饰器:
把一个函数当作参数传递给另一个函数,返回一个替代版的函数
本质上就是一个返回函数的函数
“在不改变原函数的基础上 给函数增加功能”
“”"
# def func():
# #print('**********')
# print('hello')
# func()
# def outer(f):
# def inner():
# print('@@@@@@@@@')
# f()
# print('!!!!!!!!!!!')
#
# return inner
#
# @outer
# def func():
# print('hello python')
# @outer
# def func2():
# print('welcome~')
# # print(outer(func))
# # func = outer(func)
# func()
# # func2 = outer(func2)
# func2()
def outer(f):
def inner(age):
if age <=0:
age = 0
f(age)
return inner
@outer #语法糖
def say(age):
print('%d years old' %(age))
say(-12)