摘要: #!/usr/bin/python # coding: UTF-8 import datetimeimport timenow = datetime.datetime.now from functools import wraps def cache(func): caches = {} @wrap 阅读全文
posted @ 2017-05-16 16:29 AmilyAmily 阅读(265) 评论(0) 推荐(0)
摘要: 内置的装饰器有三个,分别是staticmethod、classmethod和property。作用分别是把类中定义的实例方法变成静态方法、类方法和类属性。 示例比较简单,其中的函数是可以进行扩展的。这里@property定义的是一个只读属性,如果需要可写,则需要再一定一个setter: 阅读全文
posted @ 2017-05-16 16:13 AmilyAmily 阅读(163) 评论(0) 推荐(0)
摘要: import time def timeit(func): def wrapper(): start = time.clock() func() end =time.clock() print 'used:', end - start return wrapper @timeit def foo() 阅读全文
posted @ 2017-05-16 16:11 AmilyAmily 阅读(1319) 评论(0) 推荐(0)
摘要: 好的日志对一个软件的重要性是显而易见的。如果函数的入口都要写一行代码来记录日志,这种方式实在是太低效了,但一直没有找到更好的方法。后来用python写一些软件,了解到python的装饰器功能时,突然人品爆发,结合装饰器来记录日志那是绝对的简单有效! 下面简单演示一下用装饰器来协助记录Log,示例代码 阅读全文
posted @ 2017-05-16 15:59 AmilyAmily 阅读(2346) 评论(0) 推荐(0)
摘要: 这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。 python装饰器用来引入日志、增加计时逻辑来检测性能、给函数增加事务的能力 第一步:最简单的函数,准备附加额外功能 1 2 3 4 5 6 7 8 # -*- coding:gbk -*- '''示例1: 最简单的函数,表示 阅读全文
posted @ 2017-05-16 15:51 AmilyAmily 阅读(145) 评论(0) 推荐(0)
摘要: python函数可变参数 (Variable Argument) 的方法:使用*args和**kwargs语法。其中,*args是可变的positional arguments列表,**kwargs是可变的keyword arguments列表。并且,*args必须位于**kwargs之前,因为po 阅读全文
posted @ 2017-05-16 15:50 AmilyAmily 阅读(688) 评论(0) 推荐(0)