D10_1.1装饰器

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

#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("我是白富美")

猜你喜欢

转载自www.cnblogs.com/banbosuiyue/p/11826627.html