加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

为什么在Python代码中装饰器很要害

发布时间:2021-06-02 12:58:08 所属栏目:编程 来源:互联网
导读:要领略什么是装饰器,您起首必要认识Python处理赏罚函数的方法。从它的概念来看,函数和工具没有什么差异。它们有属性,可以从头分派: deffunc(): print( hellofromf

要领略什么是装饰器,您起首必要认识Python处理赏罚函数的方法。从它的概念来看,函数和工具没有什么差异。它们有属性,可以从头分派:

def func():  

  print('hello from func')  

func()  

> hello from func  

new_func = func  

new_func()  

> hello from func  

print(new_func.__name__)  

> func 

另外,你还可以将它们作为参数转达给其他函数:

def func():  

  print('hello from func')  

def call_func_twice(callback):  

  callback()  

  callback()  

call_func_twice(func)  

> hello from func  

> hello from func 

此刻,我们先容装饰器。装饰器(decorator)用于修改函数或类的举动。实现这一点的要领是界说一个返回另一个函数的函数(装饰器)。这听起来很伟大,可是通过这个例子你会领略全部的对象:

def logging_decorator(func): 

  def logging_wrapper(*args, **kwargs): 

    print(f'Before {func.__name__}') 

    func(*args, **kwargs) 

    print(f'After {func.__name__}') 

  return logging_wrapper 

     

@logging_decorator 

def sum(x, y): 

  print(x + y) 

   

sum(2, 5) 

> Before sum 

> 7 

> After sum 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读