本文目錄一覽:
python函數深入淺出 16.time.sleep()函數詳解
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.基礎篇
python的time怎麼使用
time模塊
time這個模塊提供各種與時間相關的函數。相關功能,可以參見datetime和calendat模塊。
此模塊並非所有平台提供所有功能,因平台而異。
以下是對一些術語和慣例的解釋
初始時間因平台而異。對於Unix平台,初始時間是1970,01,01,00:00:00(UTC)。查看每個操作平台的初始時間可以使用time.gmtime(0)函數。
在所有POSIX平台上,從初始時間以來的秒數都不包括閏秒
該模塊中的函數可能不處理初始時間以前和遙遠未來的日期和時間,未來的分界點對於32位操作系統是2038年。
UTC是協調世界時(以前稱為格林尼治標準時間,GMT)。縮寫UTC不是一個錯誤,而是英語和法語之間的妥協。
DST是夏令時,在一年中的某些時候,時區通常會調整一個小時。DST規則是神奇的(由當地法律決定),每年都在變化。
各種實時函數的精度可能低於表示其值或參數的單位所建議的精度。
推薦學習《python教程》
python中的time模塊
time模塊是python專門用來處理時間的內建庫。
下面我們來記錄一些基本使用方法。
ps: 用到了一些概念,比如unix時間戳,感興趣的同學自行百度。
下文參考他人博客內容, 傳送門
time.time()函數獲取的是Unix時間戳。
返回的是一個float類型的數值。
在python中的time模塊中定義了一個叫struct_time的元組,是用來構建時間對象的。
struct_time元組共9個元素組成,如下圖:
這個函數可以接受一個unix時間戳,然後轉換為struct_time。
如果不傳入second參數,則會返回當前時間的時間戳的struct_time對象
再試試傳入當前時間的時間戳,是否能得到上面的struct_time呢?
和我們預期的結果一致。
和localtime函數類似,默認情況gmtime函數獲取當前時間的utc時間。
返回當前時間的utc時間的struct_time對象。
也可以傳入任意的unix時間戳,來得到utc時間。
將一個時間戳struct_time對象轉換為時間戳。
傳入一個struct_time對象,返回”Sun Jun 20 23:21:05 1993″這種格式的字元串。不傳參數,返回當前時間的這種格式的字元串。
傳入格式和struct_time,返回按照format格式格式化後的時間字元串。
格式佔位符可以參考下圖:
將字元串時間轉為struct_time,time.strftime()的逆向操作。
Python模塊的幾種類型簡介
1、系統內置模塊
os模塊:os模塊包含普遍的操作系統功能
sys模塊:提供了一系列有關Python運行環境的變數和函數
random模塊:random模塊用於生成隨機數
time 模塊: 主要包含各種提供日期、時間功能的類和函數
datetime模塊:對time模塊的一個高級封裝
shutil模塊:是一種高層次的文件操作工具
logging模塊:將日誌列印到了標準輸出中
re模塊:可以直接調用來實現正則匹配
pymysql模塊:連接資料庫,並實現簡單的增刪改查
threading模塊:提供了更強大的多線程管理方案
queue模塊:實現了多生產者,多消費者的隊列
json模塊:用於字元串和數據類型間進行轉換json
2、開源(三方)模塊
Requests:最富盛名的http庫。每個Python程序員都應該有它。
Scrapy:從事爬蟲相關的工作,這個庫也是必不可少的。
NumPy:為Python提供了很多高級的數學方法。
matplotlib:一個繪製數據圖的庫。對於數據分析師非常有用。
Pygame:開發2D遊戲的時候可以用上 。
Scapy:用Python寫的數據包探測和分析庫。
Django:開源Web開發框架,它鼓勵快速開發,並遵循MVC設計,開發周期短。
Py2exe:將python腳本轉換為windows上可以獨立運行的可執行程序。
BeautifulSoup:基於Python的HTML/XML解析器,簡單易用。
PyGtk:基於Python的GUI程序開發GTK+庫。
3、自定義模塊
自定義模塊是自己寫的模塊,對某段邏輯或某些函數進行封裝後供其他函數調用。
注意:自定義模塊的命名一定不能和系統內置的模塊重名了,否則將不能再導入系統的內置模塊了。
例如:自定義了一個sys.py模塊後,再想使用系統的sys模塊是不能使用的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291108.html