1. 程式人生 > >寫一個裝飾器,檢視函式執行的時間

寫一個裝飾器,檢視函式執行的時間

def zhuangshiqi(fun):
    def warrper(*args,**kwargs):
        a = time.clock()     #clock()函式以浮點數計算的秒數返回當前的CPU時間.用來衡量不同程式的耗時,比time.time()更有用
        c = fun(*args,**kwargs)
        b = time.clock()
        print(b - c)
        return c
    return warrper

相關推薦

一個裝飾檢視函式執行時間

def zhuangshiqi(fun):     def warrper(*args,**kwargs):         a = time.clock()     #clock()函式以浮點數計算的秒數返回當前的CPU時間.用來衡量不同程式的耗時,比time.time()

使用裝飾檢視函式執行時間。深度解析python中對時間函式的使用

# Python time clock() 函式以浮點數計算的秒數返回當前的CPU時間。用來衡量不同程式的耗時,比time.time()更有用。 # 這個需要注意,在不同的系統上含義不同。在UNIX系統上,它返回的是"程序時間",它是用秒錶示的浮點數(時間戳)。 # 而在WINDOWS中,第一次呼叫

Django一個裝飾:從首頁點選詳情頁如已登入進詳情頁;如未登入跳轉至登入頁面登入成功後跳轉至詳情頁

有的網站需求,如果使用者未登入,能夠進入首頁,但當點選想要進入詳情頁的時候,就會跳轉到登入頁面,登入完成之後,有的需求需要進入首頁;有的需要進入點選登入之前你的意向頁面 第一種:登入之後,進入首頁。 第二種:登入之後,進入登入之前你點選想進入的意向頁面 那麼,對於第一種,登入之後,進入首

請實現一個裝飾限制該函數被調用的頻率如10秒一次

空間 打包 函數作為參數 get false val orm cti res 一、通過函數的閉包/命名空間原理,裝飾器來實現這個功能 裝飾器及原理可參考我的這篇文章 這個裝飾器可以隨便設置時間很方便,每個函數都有獨立的標記時間 #!/usr/bin/env python #

Python中自己一個計時計算一個過程所需秒數

import time import sys import numpy as np i = np.arange(1, 5000) def k_timer(bool_start_end, start_time): if bool_start_end: return tim

Python 裝飾@函式進行功能擴充套件開閉原則

裝飾器可以對原函式進行功能擴充套件,但還不需要修改原函式的內容(開閉原則),也不需要修改原函式的呼叫。   demo.py(裝飾器,@): # 閉包 def w1(func): def inner(): # 對原函式進行功能擴充套件 pr

【python基礎】python基礎5+6(set函式裝飾函式異常處理)

一. python基礎5(set,函式) 1.1set型別 '''set 類似dict,,是一組key的集合,不儲存value 本質: 無序和無重複元素的集合,可以用來去重複 ''' #建立 #建立set需要一個list或tuple作為輸入 #set重複元組在set中會

python基礎學習筆記(五)裝飾高階函式

多程序程式設計import multiprocessing def process1(): return 1 def process2(): return 2 p1=multiprocessing.Process(target=process1) p2=m

Python-自定義裝飾使用裝飾記錄函式執行次數,一種埋點的實現形式

什麼是裝飾器? 裝飾器本質是一個函式,它可以在不改變原來的函式的基礎上額外的增加一些功能。如常見的@classmethod,@staticmethod等都是裝飾器,接下來記錄下如何自定義個裝飾器: 剛剛說過了,裝飾器的本質就是一個函式,所有想要自定義一個裝飾器,首先自定義一個函式

裝飾函式執行時間

import time from functools import wraps def print_use_time(func): @wraps(func) def _init(*args,**kwargs): start = time.time()

python裝飾限制函式執行時間超時退出

實際專案中會涉及到需要對有些函式的響應時間做一些限制,如果超時就退出函式的執行,停止等待。 可以利用python中的裝飾器實現對函式執行時間的控制。 python裝飾器簡單來說可以在不改變某個函式內部實現和原來呼叫方式的前提下對該函式增加一些附件的功能,提供了對該函式功能

用shell一個簡易計算器可以實現加、減、乘、除運算假如腳本名字為1.sh執行示例:./1.

a-z 依次 腳本 als 示例 內置 數位 特殊字符 使用 用shell寫一個簡易計算器,可以實現加、減、乘、除運算,假如腳本名字為1.sh,執行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo "參

併發處理:鎖一個死鎖的例項和執行緒監控

鎖 鎖是一個非常有用的工具,運用的場景非常多,因為他使用起來非常的簡單,而且易於理解。但是,鎖的問題就是很可能會出現一個非常壞的事情,就是一旦造成死鎖,就會導致執行緒得不到釋放,一旦死鎖的執行緒出現的太多,就會造成系統的不可用。 一、死鎖的例子 學習掌握一個概念,最好的方法就

函式程式設計(名稱空間閉包裝飾

一、名稱空間 名稱空間 namespace  存放名字的地方 x=1 名稱空間存放 x 和 x與1繫結關係 類似{x:id(1)} 1.1.名稱空間分三種:  1.locals 是函式內的名稱空間,包括區域性變數和形參 locals()   2.globals

20181130(裝飾補充疊加多個裝飾有參裝飾三元表示式生成式匿名函式內建函式

  一、裝飾器的補充 1、函式屬性的傳遞 Python裝飾器(decorator)在實現的時候,被裝飾後的函式其實已經是另外一個函數了(函式名等函式屬性會發生改變),為了不影響,Python的functools包中提供了一個叫wraps的decorator來消除這樣的副作用。寫一個decora

編寫裝飾並儲存函式的元資料程式碼簡潔之道

    軟體開發中的重要一條真理就是“不要重複自己的工作”。通常當我們需要建立高度重複的程式碼時,都可以尋找到一個更加優雅的解決方案。 1    給函式新增一個包裝,讓它做一點額外的工作     當我們需要讓一個函式擁有計時統計、列印日誌的功能時,往往選擇的方案就是直

python :閉包匿名函式decorater裝飾以及偏函式

#python閉包 封裝 提高程式碼複用 內層函式引用外層函式的變數,返回內層函式 返回函式不可以為迴圈變數 示例1: #標準線不同時,判斷學生的成績是否通過 方法1: def pass_60(val) : #標準線為60時,判斷是否通過 passli

Python使用裝飾執行緒限制函式執行時間的方法

前言:   (不想看廢話的可以直接copy尾部的程式碼)   在八月上旬的時候,曾經寫過一個多執行緒爬蟲。程式在執行時經常莫名的卡死。這令我很是費解,後來才發現,是在請求對方資源時,伺服器長時間未返回完資料。導致IO阻塞。   其實不只是爬蟲,很多時候一個函式很可能因為某種不可預知的事情,而有時很可能會卡

day 12 內建函式裝飾遞迴函式

內建函式 內建函式:python給咱們提供了一些他認為你會經常用到的函式,68種      內建函式     abs() dict() help() m

spring tool suite新建spring starter project一個簡單的html頁面並執行出來

   我用的spring tool suite 版本是3.8.0     剛剛使用spring tool suite 這個工具,這個工具還是挺好用的,不用再在配置檔案上花很多時間,它可以幫我們配置好。    廢話不多說,首先新建一個spring starter proj