Python之路,第十二篇:Python入门与基础12

python3 函数3

 装饰器 decorator   ***

概念:装饰器是一个函数,主要作用是用来包装另一个函数或类;

包装的目的:是在不改变原函数名的情况下,改变被包装函数(对象)的行为。

装饰器函数: def   装饰器函数名(参数):

                                    函数块

                                  return   函数

例子:

def    deco(fn):

        print("装饰器函数被调用,并返回原函数")

       return  fn

带装饰器函数语法:

@装饰器函数名    [(装饰器函数传参)]   <换行>

def   函数名(参数列表):

         语句块

注:[ ] 代表可省略 

 1 def deco(fn):
 2     print("装饰器被调用,原函数被返回")
 3     print(fn)
 4     return fn
 5     #return  lambda :print("hello,world")
 6 
 7 @deco
 8 def myfac():
 9     print("myfac被调用")
10 
11 #myfac = deco(myfac)
12 myfac()
13 myfac()
14 #
15 def deco(fn):
16     print("装饰器被调用,原函数被返回")
17     print(fn)
18     #return fn
19     return  lambda :print("hello,world")
20 
21 @deco
22 def myfac():
23     print("myfac被调用")
24 
25 #myfac = deco(myfac)
26 myfac()
27 myfac()
28 #
29 #装饰器被调用,原函数被返回
30 #<function myfac at 0x00000000006766A8>
31 #myfac被调用
32 #myfac被调用
33 #装饰器被调用,原函数被返回
34 #<function myfac at 0x00000000005ACB70>
35 #hello,world
36 #hello,world
View Code

猜你喜欢

转载自www.cnblogs.com/weizitianming/p/9030320.html