计算函数执行时间的装饰器

import timedef wrapper(func):    def inner(*args,**kwargs):        """函数执行之前的操作"""        start_time=time.time()        time.sleep(4)        res=func(*args,**kwargs)        dur=time.time()-start_time        print("该函数的执行时间:%s" %dur)        """函数执行后执行的操作"""        return res    return inner@wrapperdef lin(str):    len = 0    for i in str:        len+=1    print(‘该字符串长度为;%s‘ %len)    return "装饰器函数"link=lin(‘123134‘)print(link)

原文地址:https://www.cnblogs.com/sihong/p/11049568.html

时间: 2024-10-05 00:08:00

计算函数执行时间的装饰器的相关文章

python之路_函数实例及装饰器介绍

一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[('红心',2), ('草花',2), -('黑桃,'A')] def cards(): num=[] for v in range(2,11): num.append(v) num.extend(['J','Q','K','A']) type=['红心','草花','方块','黑桃'] result=[] for i in num: for j in type: result.append((j,i)) re

第四天 内置函数2 随机码 装饰器 迭代器、生成器 递归 冒泡算法 JSON

关于函数的return li = [11,22,33,44] def f1(arg): arg.append(55) li = f1(li) print(li) 因为li = f1(li) 实际赋值的是f1的return,那么在这种情况下函数f1并未定义return,所以默认返回None 因此li的值应该是none 如果是 li = [11,22,33,44] def f1(arg): arg.append(55) f1(li) print(li) 因为函数传递的参数实际是参数的引用,因此在函数

函数嵌套与装饰器

*应用场景,位置参数中代表将多个参数存入元祖,**将关键字参数传入字典 位置参数: 位置形参:必须被传值,一一对应 位置实参:按从左到右的顺序与形参一一对应 关键字参数:按照key=value形式指名道姓的为形参传值,可以完全不按照顺序 1.关键字实参必须在位置参数的后面 2.可以混用位置实参与关键字实参,但不能为同一个形参重复传值 默认参数: 形参有默认值 可变长参数 形参:*args,**kwargs将多余的参数分别封装成元祖与字典 实参:将args kwargs分别打散 什么是命名关键字参

Django视图函数函数之视图装饰器

FBV模式装饰器: 普通函数的装饰器(语法糖@) views.py 1 from django.shortcuts import render 2 3 def wrapper(f): 4 def inner(*args,**kwargs): 5 print("before") 6 ret=f(*args,**kwargs) 7 print("after") 8 return ret 9 return inner 10 11 @wrapper 12 def index

【Python基础】高阶函数+函数嵌套+闭包 ==装饰器

高阶函数+函数嵌套+闭包 == 装饰器 一 什么是装饰器 二 装饰器需要遵循的原则 三 实现装饰器知识储备 四 高阶函数 五 函数嵌套 六 闭包 七 无参装饰器 八 装饰器应用示例 九 超时装饰器 参考: https://www.cnblogs.com/linhaifeng/articles/6140395.html https://www.cnblogs.com/haiyan123/p/8387769.html 原文地址:https://www.cnblogs.com/XJT2018/p/11

python 写一个计算执行时间的装饰器

面试题之一. 写一个装饰器wraps,它接收一个参数t,如果函数执行时间超过1秒,输出"bad",否则输出"goods". 首先,计算函数的执行时间: import time start = time.clock() for i in range(1000000):     pass end = time.clock() print "cost time = %f s" % (end-start) 结果: >>> cost ti

5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器

一.什么是装饰器? 实际上装饰器就是个函数,这个函数可以为其他函数提供附加的功能. 装饰器在给其他函数添加功能时,不会修改原函数的源代码,不会修改原函数的调用方式. 高阶函数+函数嵌套+闭包 = 装饰器 1.1什么是高阶函数? 1.1.1函数接收的参数,包涵一个函数名. 1.1.2 函数的返回值是一个函数名. 其实这两个条件都很好满足,下面就是一个高阶函数的例子. def test1(): print "hamasaki ayumi" def test2(func): return t

十、闭包函数、函数对象、装饰器

函数对象: 函数是第一类对象 第一类对象: 指可以在执行期创造并作为参数传递给其他函数或存入一个变量的实体 第一类对象所特有的特性为: 可以当容器被存入变量或其他结构 可以被作为参数传递给其他函数 可以被作为函数的返回值 可以在执行期创造,而无需完全在设计期全部写出 即使没有被系结至某一名称,也可以存在 函数.类.模块等所有对象都是第一类的 闭包函数: 函数内定义的函数为内部函数 内部函数包含对外部作用域而非全局作用域的引用 定义闭包函数的基本形式: def 外部函数名(): 内部函数需要的变量

参数-匿名函数-生成式-生成器-装饰器

1.函数的参数 参数类型:关于函数的参数,我们经常在一些代码中会发现 def(*args,**kwargs)的表现形式,其中定义的分别是元组和字典: *args -- tuple(1,) **kwargs -- dict("k":"v") 例如: fun(*args,**kwargs ) fun(1,2,3,4,5,a=10,b=40 ) 我们也可以简单的定义一个函数的参数: def add(*args): total = 0 for i in args: tota