Python装饰器的使用
对于python编程人员,装饰器的使用肯定是必不可少的。 装饰器分为系统定义装饰器和自定义装饰器;系统定义装饰器:@classmethod:类方法装饰器 @staticmethod: 静态方法装饰器 装饰器的本质就是一个函数,作用是在不改变源代码的情况下,给函数增加额外的功能;装饰器的使用通过@语法糖进行调用 自定义装饰器又分为: 带参的装饰器和不带参的装饰 。 先来说不带参的装饰器: # 1.声明一个普通的装饰器 # 需求:获取每个函数的运行时间 import datetime,time def get_func_time(func): # 外层作为装饰函数,必须接收参数,将被装饰函数传入 def inner(*args): # 内层实现被装饰函数的额外功能,如果被装饰函数需要传入参数,可以定义不定长参数:*args,或者关键字参数:**kwargs start_time = datetime.datetime.now() # 获取当前时间,作为开始时间 result = func(*args) # 调用传入的被装饰的函数,传入需要的参数 end_time = datetime.datetime.now() # 获取当前时间,作为结束时间 print('程序的运行时间为:', end_time - start_time) return result # 如果被装饰函数是有返回值的