python-装饰器入门demo
def begin_end(old): """ 用来对其他函数进行扩展,使其他函数可以在执行前打印开始执行,执行后打印执行结束 :param old: 要扩展的函数对象 :return: """ # 创建一个新函数 def new_function(*args,**kwargs): print("开始执行....") # 调用被扩展的函数 result=old(*args,**kwargs) print("执行结束....") # 返回函数的执行结果 return result # 返回新函数 return new_function @begin_end def say_hello(): print('hello') say_hello()
def begin_end(old):
"""
用来对其他函数进行扩展,使其他函数可以在执行前打印开始执行,执行后打印执行结束
:param old: 要扩展的函数对象
:return:
"""
# 创建一个新函数
def new_function(*args,**kwargs):
print("开始执行....")
# 调用被扩展的函数
result=old(*args,**kwargs)
print("执行结束....")
# 返回函数的执行结果
return result
# 返回新函数
return new_function
@begin_end
def say_hello():
print('hello')
say_hello()