码迷,mamicode.com
首页 > 其他好文 > 详细

D20_1.1装饰器

时间:2019-11-09 17:16:30      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:传递   new   fun   一个   改变   返回   优点   nbsp   功能   

定义:装饰用于拓展原来函数功能的一种语法,返回新函数替换旧函数
优点:在不更改原函数代码的前提下,给函数拓展新的功能
语法:@

#1 装饰器的原型
def kuozhan(func):
  def newfunc():
    print("厕所前蓬头垢面")
    func()
    print("厕所后容光焕发")
  return newfunc

def func():
  print("我是高富帅")

func=kuozhan(func) #func=newfunc
func() #调用newfunc

 

@符有两个作用:
(1)把@符下面的函数当成一个参数传递给装饰器
(2)装饰器经过装饰后,把新函数返回,让新函数去替换旧函数(现实在不改变原有代码的前提下拓展新功能)

def kuozhan(func):
def newfunc():
print("厕所前衣衫褴褛")
func()
print("厕所后容光焕发")
return newfunc
@kuozhan #就相当于 func=kuozhan(func)
def func():
print("我是白富美")

 

 

D20_1.1装饰器

标签:传递   new   fun   一个   改变   返回   优点   nbsp   功能   

原文地址:https://www.cnblogs.com/banbosuiyue/p/11826627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!