码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-12 23:05:46      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:另一个   tor   ide   分享图片   closed   改变   class   lambda   span   

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

 

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

标签:另一个   tor   ide   分享图片   closed   改变   class   lambda   span   

原文地址:https://www.cnblogs.com/weizitianming/p/9030320.html

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