python必學(xué)知識(shí)之標(biāo)準(zhǔn)庫(kù)、時(shí)間庫(kù)、隨機(jī)庫(kù)及正則表達(dá)式庫(kù)
一、標(biāo)準(zhǔn)庫(kù)
1、標(biāo)準(zhǔn)庫(kù)的介紹
標(biāo)準(zhǔn)庫(kù)是python自帶的庫(kù),不需要下載,可以直接使用,目錄地址可以通過(guò):
import sys: print(sys.exe_prefix)
2、標(biāo)準(zhǔn)庫(kù)的導(dǎo)入方法
在代碼中如果需要使用python自帶的標(biāo)準(zhǔn)庫(kù),可以使用保留字from和import導(dǎo)入想應(yīng)的標(biāo)準(zhǔn)庫(kù)
例如:
import time from time import * import time as t
若導(dǎo)入標(biāo)準(zhǔn)庫(kù)時(shí)也使用該方法,但標(biāo)準(zhǔn)庫(kù)并不在代碼所在的文件夾中的導(dǎo)入方法
python內(nèi)部設(shè)置了3個(gè)優(yōu)先搜索路徑。當(dāng)使用import時(shí),例如import water,python會(huì)自動(dòng)按照下面步驟執(zhí)行
步驟1,優(yōu)先在代碼所在文件夾中搜索是否存在名為water.py的代碼文件。如果不存在則執(zhí)行下一個(gè)搜索步驟
步驟2,搜索python安裝路徑下的Lib目錄(含標(biāo)準(zhǔn)庫(kù))中是否存在名為water.py的代碼文件。如果不存在則執(zhí)行下一個(gè)步驟
步驟3,搜索python安裝路徑下的Lib目錄下的site-packages目錄(即第三方庫(kù)目錄)中是否存在名為water.py的代碼文件。如果搜索到,則可以繼續(xù)使用代碼文件中的函數(shù)或類(lèi)方法。如果沒(méi)有,則報(bào)錯(cuò),說(shuō)明沒(méi)有名為water的文件
二、時(shí)間庫(kù)
python標(biāo)準(zhǔn)庫(kù)中的time庫(kù)主要用于獲取當(dāng)前時(shí)間和設(shè)計(jì)時(shí)間的格式。在使用time庫(kù)之前需要使用import將time庫(kù)導(dǎo)入代碼文件
1、獲取時(shí)間戳
時(shí)間戳表示當(dāng)前時(shí)間與1970年1月1日0時(shí)0分0秒的時(shí)間差(以秒為單位)

time()方法不僅可以檢測(cè)程序代碼在何時(shí)被執(zhí)行,也可以測(cè)量程序的運(yùn)行速度

若在i+=1下一行加個(gè)輸出print(i),我們可以看到執(zhí)行速度就會(huì)慢很多

因此在編寫(xiě)代碼過(guò)程中盡可能少的使用print()
2、獲取時(shí)間
localtime()函數(shù)
localtime()函數(shù)用于獲取本地當(dāng)前時(shí)間
localtime(seconds=None)
參數(shù)seconds:值可以為None或時(shí)間戳值。如果為None表示獲取本地當(dāng)前時(shí)間,如果為時(shí)間戳值表示將時(shí)間戳seconds轉(zhuǎn)換為本地當(dāng)前時(shí)間
返回值:struct_time數(shù)據(jù)對(duì)象。struct_time數(shù)據(jù)對(duì)象是python內(nèi)置數(shù)據(jù)類(lèi)型,其形式類(lèi)似于元組

3、時(shí)間休眠
當(dāng)要讓代碼程序在執(zhí)行前等待一段時(shí)間,可以使用sleep(參數(shù))來(lái)實(shí)現(xiàn),其中參數(shù)為程序休眠的時(shí)長(zhǎng),值可以是小數(shù)或整數(shù),單位為秒

三、隨機(jī)庫(kù)
隨機(jī)庫(kù)可以用于產(chǎn)生隨機(jī)數(shù)據(jù),要想實(shí)現(xiàn)使用代碼生成隨機(jī)數(shù)據(jù),可以使用標(biāo)準(zhǔn)庫(kù)random,在使用前要通過(guò)import random導(dǎo)入random庫(kù)
1、隨機(jī)生成數(shù)值
在random庫(kù)中可以隨機(jī)生成數(shù)值的方法有uniform()、random()、randrange()等
1)uniform()方法
uniform(參數(shù)1,參數(shù)2)方法用于生成參數(shù)1到參數(shù)2之間的隨機(jī)小數(shù),其中參數(shù)的類(lèi)型都為數(shù)值類(lèi)型

2)random()方法
random()方法用于生成0~1(不包含1)的隨機(jī)小數(shù),無(wú)須輸入?yún)?shù)

3)randint()方法
randint(參數(shù)1,參數(shù)2)方法用于生成參數(shù)1到參數(shù)2之間的任意一個(gè)整數(shù)

4)randrange()方法
randrange(參數(shù)1,參數(shù)2,參數(shù)3)方法用于生成在參數(shù)1到參數(shù)2之間且步長(zhǎng)為參數(shù)3的隨機(jī)整數(shù)

代碼表示只能輸出1或3或5,因?yàn)橐筝敵?到5之間且步長(zhǎng)為2的隨機(jī)整數(shù)
2、隨機(jī)選擇
random庫(kù)中的choice()、shuffle()、sample()函數(shù)可以實(shí)現(xiàn)從一些數(shù)據(jù)中隨機(jī)選擇一個(gè)或多個(gè)元素
1)choice()函數(shù)
choice(參數(shù))用于從參數(shù)中隨機(jī)選擇一個(gè)元素,參數(shù)通常是序列類(lèi)型(可以通過(guò)索引的方式獲取元素)數(shù)據(jù),例如列表、字符串

2)shuffle()函數(shù)
shuffle(參數(shù))用于將產(chǎn)參數(shù)中的元素隨機(jī)打亂,參數(shù)是序列類(lèi)型數(shù)據(jù)

3)sample()函數(shù)
sample(參數(shù)1,參數(shù)2)用于從參數(shù)1中隨機(jī)選取參數(shù)2個(gè)元素,其中參數(shù)1為序列數(shù)據(jù)類(lèi)型,參數(shù)2為整數(shù)

3、隨機(jī)種子
當(dāng)我們需要每次運(yùn)行結(jié)果都相同時(shí),就需要用到隨機(jī)種子seed()函數(shù)
seed(種子)
功能:在隨機(jī)數(shù)中設(shè)置一個(gè)隨機(jī)種子,下一次隨機(jī)獲取的值必須由該隨機(jī)種子發(fā)出
參數(shù)種子:可以是任何數(shù)據(jù)類(lèi)型的,

種子張三每次運(yùn)行的結(jié)果都是8
四、正則表達(dá)式庫(kù)
正則表達(dá)式是一種表達(dá)式語(yǔ)句,用于對(duì)字符串類(lèi)型數(shù)據(jù)進(jìn)行操作,包含從字符串中篩選出滿(mǎn)足表達(dá)式條件的信息,將字符串中的內(nèi)容進(jìn)行替換等功能。在python語(yǔ)言中正則表達(dá)式使用re庫(kù)實(shí)現(xiàn),在使用re庫(kù)之前要通過(guò)import re 導(dǎo)入re庫(kù)
1、匹配字符串
1)match()函數(shù)
match(參數(shù)1,參數(shù)2)
功能:表示從參數(shù)2(字符串類(lèi)型數(shù)據(jù))中查找滿(mǎn)足參數(shù)1(正則表達(dá)式)的內(nèi)容,如果參數(shù)2起始位置匹配不成功的話,輸出None,如果起始位置匹配成功,就返回匹配的內(nèi)容

執(zhí)行結(jié)果中的span=(0,2)表示'yi'的位置
2)search()函數(shù)
search(參數(shù)1,參數(shù)2)
功能:表示從參數(shù)2中查找滿(mǎn)足參數(shù)1的內(nèi)容,如果匹配多個(gè)參數(shù)1,則只返回第一個(gè)匹配成功的信息

3)findall()函數(shù)
findall(參數(shù)1,參數(shù)2)
功能:表示從參數(shù)2中查找滿(mǎn)足參數(shù)1的內(nèi)容,如果匹配了多個(gè)參數(shù)1,則返回匹配成功的全部信息

注:findall()函數(shù)不會(huì)返回匹配信息的位置,而是以列表的形式返回匹配成功的全部?jī)?nèi)容
2、正則表達(dá)式
1)表示字符范圍
[xyz]:字符集合,即匹配所包含的任意一個(gè)字符,例如[abc]可以匹配blue里的b,注:當(dāng)在匹配sdkabcjshd時(shí),會(huì)輸出a,b,c而不是abc
[a-z]:字符范圍,即匹配指定范圍內(nèi)的任意字符。例如[a-z]可以匹配a到z范圍內(nèi)的任意小寫(xiě)字母

2)表示字符出現(xiàn)的次數(shù)
- *:匹配前面的子表達(dá)式任意次(大于等于0次)。例如la*能匹配'l','la','laa'等,*等價(jià)于{0,}
- +:匹配前面的子表達(dá)式一次或多次。例如la+能匹配'la','laa','laaa'等,+等價(jià)于{1,}
- ?:匹配前面的子表達(dá)式0次或1次。例如la?能匹配'l','la',?等價(jià)于{0,1}
- ^:匹配輸入行首
- $:匹配輸入行尾
- {n}:匹配n次,n為負(fù)整數(shù)。例如,“a{2}”不能匹配wad,但可以匹配waad
- {n,}:匹配至少n次,例如,a{2,}不能匹配wad,但可以匹配waad,waaad等
{n,m}最少匹配n次,最多匹配m次
總結(jié)
到此這篇關(guān)于python必學(xué)知識(shí)之標(biāo)準(zhǔn)庫(kù)、時(shí)間庫(kù)、隨機(jī)庫(kù)及正則表達(dá)式庫(kù)的文章就介紹到這了,更多相關(guān)python標(biāo)準(zhǔn)庫(kù)、時(shí)間庫(kù)、隨機(jī)庫(kù)及正則表達(dá)式庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 定義n個(gè)變量方法 (變量聲明自動(dòng)化)
今天小編就為大家分享一篇python 定義n個(gè)變量方法 (變量聲明自動(dòng)化),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
pandas時(shí)間序列之pd.to_datetime()的實(shí)現(xiàn)
本文主要介紹了pandas時(shí)間序列之pd.to_datetime()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>2022-06-06
Python多線程并發(fā)時(shí)出現(xiàn)503錯(cuò)誤的最佳處理
在 HTTP 協(xié)議中,503 錯(cuò)誤表示服務(wù)器當(dāng)前無(wú)法處理請(qǐng)求,通常是因?yàn)榉?wù)器暫時(shí)過(guò)載或維護(hù),本文主要來(lái)和大家探討一下503 錯(cuò)誤處理的最佳實(shí)踐,希望對(duì)大家有所幫助2025-07-07
解決django同步數(shù)據(jù)庫(kù)的時(shí)候app models表沒(méi)有成功創(chuàng)建的問(wèn)題
今天小編就為大家分享一篇解決django同步數(shù)據(jù)庫(kù)的時(shí)候app models表沒(méi)有成功創(chuàng)建的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
使用python制作一個(gè)簡(jiǎn)單的井字棋游戲
井字棋(Tic-Tac-Toe)是一種經(jīng)典的兩人棋盤(pán)游戲,通常由兩名玩家輪流下棋,目標(biāo)是在一個(gè)3x3的棋盤(pán)上先形成橫向、縱向或?qū)蔷€的三個(gè)棋子,本文將介紹如何使用 Python 制作一個(gè)簡(jiǎn)單的井字棋游戲、包括游戲規(guī)則、界面設(shè)計(jì)和實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-11-11

