加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

为什么在Python代码中装饰 器很关键

发布时间:2022-12-05 12:46:37 所属栏目:语言 来源:
导读:  要理解什么是装饰器,您首先需要熟悉Python处理函数的方式。从它的观点来看,函数和对象没有什么不同。它们有属性,可以重新分配:

  def func():

   print('hello from func')

  
  要理解什么是装饰器,您首先需要熟悉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
 

(编辑:财气旺网 - 财气网)

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