文档章节

装饰器(1)

MrYx3en
 MrYx3en
发布于 2015/08/21 12:13
字数 107
阅读 31
收藏 0
>>>def now():
    print('2015-8-21')
    
>>>f = now
>>>f()
2015-8-21

此时当我们想要在实现 now( ) 函数调用的前后自动打印日志,但是不更改 now( ) 函数的定义,我们可以使用装饰器的方式:

>>>def log(func):
        def wrapper(*args,**kw):
            print('call %s():' % func.__name__)
            return func(*args,**kw)
        return wrapper
        
>>>@log
def now():
    print('2015-08-21')
    
>>>now()
call now():
2015-08-21

 

本文转载自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681987994...

上一篇: 装饰器(2)
下一篇: 理解 *args **kw
MrYx3en
粉丝 10
博文 131
码字总数 30542
作品 0
宝鸡
系统管理员
私信 提问
python三大神器===》装饰器

1.认识装饰器   如果你经常看我的博客,你已经学会了python的前两大‘神器’(迭代器,生成器),那么什么是装饰器呢?就如字面意义装饰器是对某个事物(通常指函数)进行装饰,让其在不修改...

许传坤
2018/08/23
0
0
装饰器、生成器、迭代器、及python中内置函数的使用

装饰器、生成器、迭代器、及python中内置函数的使用 一、 装饰器 1、 装饰器的概述 (1)概述:装饰器本质就是函数,主要用来装饰其他函数,为其他函数添加附加功能。 (2)使用装饰器的原则...

Dayi_123
2017/04/23
0
0
python基础 之 装饰器详解

装饰器的语法以@开头,接着是装饰器函数的名字、可选参数。 紧跟装饰器声明的是被装饰的函数和被装饰的函数的可选参数,如下: @decorator(decoptargs)def func(func_args): .... 其实总体说...

Jlan
2015/11/01
74
0
TypeScript基础入门之装饰器(一)

转发 TypeScript基础入门之装饰器(一) 介绍 随着TypeScript和ES6中Classes的引入,现在存在某些场景需要额外的功能来支持注释或修改类和类成员。 装饰器提供了一种为类声明和成员添加注释和元...

durban
2018/10/21
34
0
TypeScript基础入门之装饰器(二)

转发 TypeScript基础入门之装饰器(二) 装饰器求值 如何应用装饰器应用于类内的各种声明的顺序: 1. 对每个实例成员应用参数装饰器,后跟Method,Accessor或Property Decorators。 2. 对每个静...

durban
2018/10/22
15
0

没有更多内容

加载失败,请刷新页面

加载更多

新架构、新角色:TiDB Community Upgrade!

作者:Jian Zhang 经过几年的发展,TiDB 社区已经逐渐成熟,但是随着社区的发展壮大,我们逐渐感受到了现在社区架构上的一些不足。经过一系列的思考和总结,我们决定升级和调整目前社区组织架...

TiDB
22分钟前
5
0
jquery qrcode库提示not function

jquery qrcode 这个库能用,但是必须在初始化的时候,官方给的使用方法是 引入qrcode的库文件后,在js中写以下 html <div id="qrcode"></div> js jQuery('#qrcode').qrcode({ render: ......

shikamaru
27分钟前
9
0
MySQL数据库去重的简单方案

利用 distinct 对需要处理的字段进行去重 select distinct 字段名 from 表名 利用group by select * from 表名 group by 字段名 利用having select * from 表名 group by 字段名 having 字段...

FeanLau
29分钟前
9
0
字符串转换成整数

实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该...

蔚蓝_晴天
41分钟前
8
0
Eureka客户端续约及服务端过期租约清理源码解析

在之前的文章:EurekaClient自动装配及启动流程解析中,我们提到了在构造DiscoveryClient时除了包含注册流程之外,还调度了一个心跳线程: scheduler.schedule( new Ti...

Java学习录
52分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部