1、函數定義
成都創新互聯公司服務項目包括吳忠網站建設、吳忠網站制作、吳忠網頁制作以及吳忠網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,吳忠網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到吳忠省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
①使用def關鍵字定義函數
②
def 函數名(參數1.參數2.參數3...):
"""文檔字符串,docstring,用來說明函數的作用"""
#函數體
return 表達式
注釋的作用:說明函數是做什么的,函數有什么功能。
③遇到冒號要縮進,冒號后面所有的縮進的代碼塊構成了函數體,描述了函數是做什么的,即函數的功能是什么。Python函數的本質與數學中的函數的本質是一致的。
2、函數調用
①函數必須先定義,才能調用,否則會報錯。
②無參數時函數的調用:函數名(),有參數時函數的調用:函數名(參數1.參數2.……)
③不要在定義函數的時候在函數體里面調用本身,否則會出不來,陷入循環調用。
④函數需要調用函數體才會被執行,單純的只是定義函數是不會被執行的。
⑤Debug工具中Step into進入到調用的函數里,Step Into My Code進入到調用的模塊里函數。
time.sleep() 函數命名來源于英文單詞time(時間)和sleep(睡眠)。
time 是python帶的非內置庫,使用時需要import,主要用于處理和時間相關的操作。
time.sleep用于給定時間內掛起(等待)當前線程的執行。
time.sleep() 函數的例子:
可以注釋掉time.sleep(2)再運行一次對比一下
可以看到雖然都是打印出一樣的結果,但time.sleep()加入了等待時間
這里還要解釋一下python中線程與進程的區別。
舉個例子,廚房做菜看成是一個進程,那么這個進程下面就可能有多個人或一個人(cpu基本執行單元,即線程)來執行,多個人可以分別洗菜,刷碗,擺盤等等同時作業,他們又是共享這個廚房的資源的。每個人存在一定的資源競爭關系,比如爐火只有1個。
這里time.sleep是針對線程執行的,也就是其中一個人去sleep睡覺了,不影響其他人的繼續工作。
參數
該函數沒有返回值。
結果類似如下:
可以看到秒數相差了5
無
time.sleep()常用于推遲執行的場景
在python中,與時間相關的模塊有:time,datetime以及calendar
對基礎運行環境有疑問的,推薦參考: python函數深入淺出 0.基礎篇
現象描述:
1、time.clock 在win系統和linux系統下對相同程序的計時結果不一致
2、到底應該用什么時間計時?為什么用time.time與time.clock計時會有那么大的差異
在計算機領域有多種時間。
第一種稱作CPU時間或執行時間,用于測量在執行一個程序時CPU所花費的時間。第二種稱作掛鐘時間,測量執行一個程序時的總時間。掛鐘時間也被稱作流逝時間或運行時間。與CPU時間相比,掛鐘時間通常長些,因為CPU執行測量的程序可能同時還在執行其它程序的指令。
另一個重要概念是所謂的系統時間,由系統時鐘測量。系統時間表示計算機系統時間傳遞的概念。要記住系統時鐘是可以由操作系統修改的,就是修改系統時間。
在Unix系統上,time.time的作用與Windows相同,但time.clock的意義不同。
在Unix系統上,time.clock以秒為單位返回當前處理器時間,例如,執行當前線程所花費的CPU時間。而在Windows上,它是以秒為單位的返回自首次調用該函數以來所流逝的系統時間。
以我遇到的Ubuntu系統上運行time.time和time.clock的例子:
time.time()顯示系統時間過去大概1秒,而time.clock()顯示花費在當前進程上的CPU時間只有于1毫秒。
而win下time.time()和time.clock()顯示系統時間都是大致過去了1秒
在測量程序準確性能時應該使用哪一個呢?
這要視情況而定。如果程序運行的系統能夠提供足夠的資源給程序,例如,一個運行基于Python的web應用程序的web服務器,則使用time.clock()來測量程序會更有意義,因這個web應用程序可能是服務器上的主要程序 。如果程序運行的系統上還同時運行著其它大量程序,則使用time.time()進行測量會更有意義。 如果不是這樣,就應該使用基于掛鐘的計時器來測量程序的性能,因為這樣通常能反應程序的環境。
放結論,一般情況下:
1、win用time.clock或time.time
2、linux 下用time.time? 或 datetime.datetime.now().timestamp()
【1】(重要)? ? Python測量時間,用time.time還是time.clock?
使用timeit模塊,先介紹下:
timeit 模塊
timeit?模塊定義了接受兩個參數的?Timer?類。兩個參數都是字符串。 第一個參數是你要計時的語句或者函數。 傳遞給?Timer?的第二個參數是為第一個參數語句構建環境的導入語句。 從內部講,?timeit?構建起一個獨立的虛擬環境, 手工地執行建立語句,然后手工地編譯和執行被計時語句。
一旦有了?Timer?對象,最簡單的事就是調用?timeit(),它接受一個參數為每個測試中調用被計時語句的次數,默認為一百萬次;返回所耗費的秒數。
Timer?對象的另一個主要方法是?repeat(), 它接受兩個可選參數。 第一個參數是重復整個測試的次數,第二個參數是每個測試中調用被計時語句的次數。 兩個參數都是可選的,它們的默認值分別是?3?和?1000000。?repeat()?方法返回以秒記錄的每個測試循環的耗時列表。Python?有一個方便的?min?函數可以把輸入的列表返回成最小值,如: min(t.repeat(3, 1000000))
你可以在命令行使用?timeit?模塊來測試一個已存在的?Python?程序,而不需要修改代碼。
再給你個例子,你就知道怎么做了。
#?-*-?coding:?utf-8?-*-
#!/bin/env?python
def?test1():
n=0
for?i?in?range(101):
n+=i
return?n
def?test2():
return?sum(range(101))
def?test3():
return?sum(x?for?x?in?range(101))
if?__name__=='__main__':
from?timeit?import?Timer
t1=Timer("test1()","from?__main__?import?test1")
t2=Timer("test2()","from?__main__?import?test2")
t3=Timer("test3()","from?__main__?import?test3")
print?t1.timeit(1000000)
print?t2.timeit(1000000)
print?t3.timeit(1000000)
print?t1.repeat(3,1000000)
print?t2.repeat(3,1000000)
print?t3.repeat(3,1000000)
網站欄目:關于python調用函數時間的信息
網頁URL:http://m.kartarina.com/article44/hgjjee.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、域名注冊、、虛擬主機、企業網站制作、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯