python函數(shù)計(jì)時(shí)的簡(jiǎn)單介紹

python 用start() 和end () 方法計(jì)時(shí)間

import time

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式平江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平江地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

def start_sleep():

time.sleep(3)

if __name__ == '__main__':

#The start time

start = time.clock()

#A program which will run for 3 seconds

start_sleep()

#The End time

end = time.clock()

print("The function run time is : %.03f seconds" %(end-start))

# End

Python用time,設(shè)計(jì)程序,顯示20秒倒計(jì)時(shí)Python用time,設(shè)計(jì)程序,顯示20秒倒計(jì)?

回答會(huì)自動(dòng)過濾縮進(jìn),需要按照上圖調(diào)整語法縮進(jìn),下方是代碼

import time

# 設(shè)置倒計(jì)時(shí)時(shí)間(單位:秒)

countdown_time = 20

# 開始循環(huán)

while countdown_time 0:

# 打印當(dāng)前倒計(jì)時(shí)時(shí)間

print(countdown_time)

# 等待 1 秒

time.sleep(1)

# 倒計(jì)時(shí)時(shí)間減 1

countdown_time -= 1

# 倒計(jì)時(shí)結(jié)束

print("倒計(jì)時(shí)結(jié)束!")

python如何實(shí)現(xiàn)計(jì)時(shí)?

用python實(shí)現(xiàn)計(jì)時(shí)器功能,代碼如下:

''' Simple Timing Function.

This function prints out a message with the elapsed time from the

previous call. It works with most Python 2.x platforms. The function

uses a simple trick to store a persistent variable (clock) without

using a global variable.

'''

import time

def dur( op=None, clock=[time.time()] ):

if op != None:

duration = time.time() - clock[0]

print '%s finished. Duration %.6f seconds.' % (op, duration)

clock[0] = time.time()

# Example

if __name__ == '__main__':

import array

dur() # Initialise the timing clock

opt1 = array.array('H')

for i in range(1000):

for n in range(1000):

opt1.append(n)

dur('Array from append')

opt2 = array.array('H')

seq = range(1000)

for i in range(1000):

opt2.extend(seq)

dur('Array from list extend')

opt3 = array.array('H')

seq = array.array('H', range(1000))

for i in range(1000):

opt3.extend(seq)

dur('Array from array extend')

# Output:

# Array from append finished. Duration 0.175320 seconds.

# Array from list extend finished. Duration 0.068974 seconds.

# Array from array extend finished. Duration 0.001394 seconds.

用python怎么編寫一個(gè)倒計(jì)時(shí)抽簽器

我想在Python中創(chuàng)建一個(gè)倒計(jì)時(shí),我想用非常簡(jiǎn)單的方法來創(chuàng)建。我看了幾個(gè)視頻,但沒有找到合適的解決方案。

這是我現(xiàn)在正在使用的代碼。

import time

def countdown(t):

while t:

mins, secs = divmod(t, 60)

timer = '{:02d}:{:02d}'.format(mins, secs)

print(timer, end="\r")

time.sleep(1)

t -= 1

print('Time Over!!!!')

t = input("Enter the time in seconds: ")

countdown(int(t))

解決方案1

問題是,當(dāng)你睡眠1秒的時(shí)候,并不是精確的1秒,理論上說,在足夠長(zhǎng)的時(shí)間內(nèi),錯(cuò)誤可能會(huì)傳播,以至于你可能會(huì)打印出一個(gè)錯(cuò)誤的時(shí)間。為了糾正這一點(diǎn),你的代碼需要在它的循環(huán)中實(shí)際檢查從程序開始運(yùn)行以來實(shí)際經(jīng)過了多少時(shí)間,并使用它來計(jì)算t的新值是多少,而且它應(yīng)該經(jīng)常這樣做,以便倒計(jì)時(shí)順利進(jìn)行。比如說。

import time

def countdown(t):

start_time = time.time()

start_t = t

# compute accurate new t value aprroximately every .05 seconds:

while t 0:

mins, secs = divmod(t, 60)

timer = '{:02d}:{:02d}'.format(mins, secs)

print(timer, end="\r")

time.sleep(.05) # finer timing

now = time.time()

elapsed_time = int(now - start_time) # truncated to seconds

t = start_t - elapsed_time

print('Time Over!!!!')

t = input("Enter the time in seconds: ")

countdown(int(t))

參考: How to make a countdown

python怎么寫計(jì)時(shí)器用面向?qū)ο蠛投嘞蜻M(jìn)程

timeit

通常在一段程序的前后都用上time.time(),然后進(jìn)行相減就可以得到一段程序的運(yùn)行時(shí)間,不過python提供了更強(qiáng)大的計(jì)時(shí)庫:timeit

#導(dǎo)入timeit.timeitfrom timeit import timeit ?

#看執(zhí)行1000000次x=1的時(shí)間:timeit('x=1')#看x=1的執(zhí)行時(shí)間,執(zhí)行1次(number可以省略,默認(rèn)值為1000000):timeit('x=1', number=1)#看一個(gè)列表生成器的執(zhí)行時(shí)間,執(zhí)行1次:timeit('[i for i in range(10000)]', number=1)#看一個(gè)列表生成器的執(zhí)行時(shí)間,執(zhí)行10000次:timeit('[i for i in range(100) if i%2==0]', number=10000)

測(cè)試一個(gè)函數(shù)的執(zhí)行時(shí)間:

from timeit import timeitdef func():

s = 0

for i in range(1000):

?s += i ? ?print(s)# timeit(函數(shù)名_字符串,運(yùn)行環(huán)境_字符串,number=運(yùn)行次數(shù))t = timeit('func()', 'from __main__ import func', number=1000)print(t)

此程序測(cè)試函數(shù)運(yùn)行1000次的執(zhí)行時(shí)間

repeat:

由于電腦永遠(yuǎn)都有其他程序也在占用著資源,你的程序不可能最高效的執(zhí)行。所以一般都會(huì)進(jìn)行多次試驗(yàn),取最少的執(zhí)行時(shí)間為真正的執(zhí)行時(shí)間。

from timeit import repeatdef func():

s = 0

for i in range(1000):

?s += i#repeat和timeit用法相似,多了一個(gè)repeat參數(shù),表示重復(fù)測(cè)試的次數(shù)(可以不寫,默認(rèn)值為3.),返回值為一個(gè)時(shí)間的列表。t = repeat('func()', 'from __main__ import func', number=100, repeat=5)print(t)

print(min(t))

python怎么計(jì)時(shí)

定義在默認(rèn)的計(jì)時(shí)器中,針對(duì)不同平臺(tái)采用不同方式。在Windows上,time.clock()具有微秒精度,但是time.time()精度是1/60s。在Unix上,time.clock()有1/100s精度,而且time.time()精度遠(yuǎn)遠(yuǎn)更高。在另外的平臺(tái)上,default_timer()測(cè)量的是墻上時(shí)鐘時(shí)間,不是CPU時(shí)間。這意味著同一計(jì)算機(jī)的其他進(jìn)程可能影響計(jì)時(shí)

版權(quán)聲明:

def clock(func):

def clocked(*args, **kwargs):

t0 = timeit.default_timer()

result = func(*args, **kwargs)

elapsed = timeit.default_timer()?- t0

name = func.__name__

arg_str = ', '.join(repr(arg) for arg in args)

print('[%0.8fs] %s(%s) - %r' % (elapsed, name, arg_str, result))

return result

return clocked

@clock

def run(seconds):

time.sleep(seconds)

return time

if __name__ == '__main__':

run(1)

本文為CSDN博主「FlyingPie」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,附上原文出處鏈接及聲明。

原文鏈接:

參考資料:CSDN。

當(dāng)前文章:python函數(shù)計(jì)時(shí)的簡(jiǎn)單介紹
網(wǎng)頁網(wǎng)址:http://muchs.cn/article2/docopoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信小程序、App開發(fā)、外貿(mào)建站、、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)