博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python入门:装饰器
阅读量:5282 次
发布时间:2019-06-14

本文共 614 字,大约阅读时间需要 2 分钟。

装饰器:本质是函数,(功能:装饰其他函数),也就是为其他函数添加附加功能

原则:1.不能修改被装饰的函数的源代码

2.不能修改被装饰的函数的调用方式

 

实现装饰器知识储备:

1.函数即“变量”

2.高阶函数

         a:把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)

          b:返回值中包含函数名(不修改调用函数的方式)

3.嵌套函数

高阶函数+嵌套函数=》装饰器

 

例子(满足第一个原则):

import time

def bar():

  time.sleep(3)

  print("in the bar ")

 

def test1(func):

  start_time=time.time()

  func() # run bar

  stop_time=time.time()

  print("the func run time is %s" %(stop_time-start_time))

 

test1(bar)

 

例子2(满足原则2):

import time

def bar():

  time.sleep(3)

  print("in the bar ")

def test2(func):

  print(func)

  return func

 

t=test2(bar)

t()

 

转载于:https://www.cnblogs.com/luckerzhang/p/9289985.html

你可能感兴趣的文章
awk 统计
查看>>
模板设计模式的应用
查看>>
实训第五天
查看>>
平台维护流程
查看>>
2012暑期川西旅游之总结
查看>>
12010 解密QQ号(队列)
查看>>
2014年辛星完全解读Javascript第一节
查看>>
装配SpringBean(一)--依赖注入
查看>>
java选择文件时提供图像缩略图[转]
查看>>
方维分享系统二次开发, 给评论、主题、回复、活动 加审核的功能
查看>>
Matlab parfor-loop并行运算
查看>>
string与stringbuilder的区别
查看>>
2012-01-12 16:01 hibernate注解以及简单实例
查看>>
iOS8统一的系统提示控件——UIAlertController
查看>>
PAT甲级——1101 Quick Sort (快速排序)
查看>>
python创建进程的两种方式
查看>>
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
php建立MySQL数据表
查看>>