




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Python編程新思維及實戰(zhàn)
Python常用標(biāo)準(zhǔn)庫解析(上)
、
Python常用標(biāo)準(zhǔn)庫解析(上)
【單元開篇,
/Pythonk123
(1)time庫的使用
(3)re(正則表達式)庫的使用
(2)random庫的使用
Python常用標(biāo)準(zhǔn)庫解析(上)
Pythonk123■python
/-------------------------------------X
Python常用標(biāo)準(zhǔn)庫解析(上)
time庫的使用
\_________________/
/Pythonk123
time庫介紹
time庫是Python中處理時間的標(biāo)準(zhǔn)庫
?庫名:time,計算時間的表達
?提供獲取系統(tǒng)時間并格式化輸出的功能
?提供系統(tǒng)級精確計時功能,用于程序性能分析
https://docs.python.Org/3.7/library/time.html
好Pythonk123$python
■time庫詳解
/\
time庫的一些基本定義和概念
?計時起點:1970年1月1日0時0分。秒,可以用time.gmtime(O)獲得
?UTC時間:CoordinatedUniversalTime,世界標(biāo)準(zhǔn)時間,與GMT一致
?DSTB寸間:DaylightSavingTime,夏令時時間,源于系統(tǒng)底層C函數(shù)
?struct_time:Python中用于保存時間對象、帶有屬性標(biāo)簽的數(shù)據(jù)類型
\____________________________________________________________________________________________)
好Pythonk123$python
■time庫詳解
/\
time庫的時間表示方法
?浮點數(shù)時間:一般從計時起點開始計算,如:1535068435.3211677
?strucjtime時間:便于程序員使用的內(nèi)部結(jié)構(gòu),如:
time.struct_time(tm_year=2018,tm_mon=6,tm_mday=25,tm_hour=3,tm_min=39,tm_sec=53,
tm_wday=5,tm_yday=187,tm_isdst=0)
?字符串時間:便于用戶查看的時間,$□:'SatJun210:33:522018,
\)
好Pythonk123$python
■time庫詳解
理解struct_time
序號屬性名取值范圍序號屬性名取值范圍
0tm_year四位整數(shù),如20186tm_wday[0,6],星期一為0
1tm_mon[1,12]7tm_yday[1,366]
2tm_mday[1,31]8tmjsdst0:DST,1:非DST,-1:隨系統(tǒng)
3tm_hour[0,23]N/Atm_zone時區(qū)的縮寫表示
4tm_min[0,59]N/Atm_gmtoff與UTC時間相差的秒數(shù)
5tm_sec[0,61]60僅用于調(diào)時
好Pythonk123$python
time庫詳解
理解struct_time
ttime,gmtime()
time.struct_time(L=2018,=8,=25,=1,=53,=43,
:5,-237,-0)
t.tm_zone
,UTC
t.tm_gmtoff
0
?>t[0]
2018
\__________________________________________________________________________________________________________7
好Python23?python
■time庫詳解
time庫函數(shù)的分類(14個)
?時間獲?。骸?、。、。、
timegmtime()xctime()xasctimelocaltimemktime()
?時間格式化:strftime()xstrptime()
?程序計時:。、。、
dockmonotonicperf_counter()xprocess_time()xsleep()
?輔助函數(shù):get_clock_info()
.)
好Pythonk123$python
time庫詳解之時間獲取
函數(shù)描述
返回一個從計時起點開始的表示時間的浮點數(shù)
time()?>time.time()
1535104208.2367377
返回一個struct_time表示的時間,如果提供s,把s變成struct_time時間
?>time.gmtime()
gmtime([s])
time.struct_time(tm_year=2018,tm_mon=6,tm_mday=25,tm_hour=2,
tm_min=46,tm_sec=42,tm_wday=5,tm_yday=187,tm_isdst=0)
好Pythonk123$python
time庫詳解之時間獲取
函數(shù)描述
返回一個struct_time表示的本地時間,如果提供s,把s變成本地時間
?>time.localtime()
localtime([s])
time.struct_time(tm_year=2018,tm_mon=6,tm_mday=25,tm_hour=2,
tm_min=46,tm_sec=42,tm_wday=5,tm_yday=187,tm_isdst=0)
將一個struct_time的本地時間t轉(zhuǎn)變?yōu)橐粋€浮點數(shù)時間
mktime(t)?>time.mktime(time.gmtime())
1535139564.0
好Pythonk123$python
time庫詳解之時間獲取
函數(shù)描述
返回一個字符串表示的時間,如果提供參數(shù)3貝II把t變成字符串時間
asctime([t])?>time.asctime()
,SatJun210:33:5220181
返回一個字符串表示的時間,如果提供參數(shù)S,則把s變成字符串時間
ctime([s])?>time.ctime()
'SatJun210:33:522018,
好Pythonk123$python
time庫詳解之時間獲取
time庫的時間獲取
?產(chǎn)生浮點數(shù)時間:time。、mktime()
?產(chǎn)生時間:
struct_timegmtime()xlocaltime()
?產(chǎn)生字符串時間:ctime()xasctime()
.)
好Pythonk123$python
time庫詳解之時間格式化
time庫的時間格式化
strftime()
」
time.struct_time(tm_year=2018Jtmnon=l.
tm_mday=26jtm_hour=4Jtm_sec=16j'2018-01-2612:55:20'
tm_wday=4,tm_yday=26jtm_isdst=0)
strptime()
格式化:類似字符串格式化,通過模板定制輸出效果或指定輸入模式
好Pythonk123$python
time庫詳解之時間格式化
函數(shù)描述
tpl是格式化模板字符串,定義輸出效果,t是strucjtime變量
?>t=time.gmtime()
strftime(tpl,t)
>?time.strftime("%Y-%m-%d%H:%M:%S">t)
'2018-01-2612:55:20'
好Pythonk123$python
time庫詳解之時間格式化
理解時間的格式化控制符
格式化說明范圍和實例格式化說明范圍和實例
%Y年份0000~9999,例:2018%H小時24h制00-23
%m月份01-12,例:10%l小時12h制01-12
%B月份名全稱January-December%p上/下午AM,PM
%b月份名縮寫Jan-Dec,例:Apr%M分鐘00-59
%d日期01-31,例:25%S秒00-59
%A星期Monday-Sunday%Z時區(qū)字符串,如:'中國標(biāo)準(zhǔn)時間'
%a星期縮寫Mon-Sun%%%字符%
g刎
好Pythonk123$python
■time庫詳解之時間格式化
函數(shù)描述
str是字符串形式時間,tpl是格式化模板字符串
?>tS='2018-01-2612:55:20'
strptime(str,tpl)?>time.strptime(ts,"%Y-%m-%d%H:%M:%S")
time.struct_time(tm_year=2018jtm_mon=l,tm_mday=26,tm_hour=4j
tm_min=ll,tm_sec=16,tm_wday=4jtm_yday=26,tm_isdst=0)
好Pythonk123$python
■time庫詳解之時間格式化
stime.strftime("%Y-%m-%b-%d-%a-%H-%p-%M-%S",time.Ioca11ime0)
?>s
,2018-08-Aug-25-Sat-12-PM-21-22,
?>time.strptime(s,"%Y-%m-%b-%d-%a-%H-%p-%M-%S")
time.struct_time(t=2018,=8,day=25,-12,=21,
tm_sec=22,tm_wday=5,tm_yday=237,tm_isdst=-1)
.___________________________________________________________________________7
好Pythonk123$python
■time庫詳解之程序計時
time庫的五個計時時鐘
時鐘名稱對應(yīng)函數(shù)說明
'clock,time.clock()計時時鐘
'monotonic,time.monotonic()單調(diào)計時時鐘,不可更改,時間差有意義
'perf_counter,time.perf_counter()精確計時時鐘,含起始和終止的所有時間
,process.tinne'cess_time()進程計時時鐘,不含進程sleep()B寸間
'time'time.time()系統(tǒng)計時時鐘,精度不高,用于time。函數(shù)
\_____________________________________________________________________________________________________________7
好Pythonk123$python
time庫詳解之程序計時
函數(shù)描述
返回一個計時時間,調(diào)用之差是間隔時間,不同平臺精度不同
clock()?>time.clock()
6099.184732391898
返回一個計時時間,兩次調(diào)用之差是間隔時間,單位為秒
monotonic()?>time.monotonic()
233020.406
\___________________________________________________________________________________________________________________7
好Pythonk123$python
time庫詳解之程序計時
函數(shù)描述
返回一個精確計時時間,包含全部時間,單位為秒
perf_counter()?>time.perf_counter()
6336.718092311298
返回一個進程計時時間,不包含sleep。時間,單位為秒
process_time()?>time.monotonic()
0.3125
好Pythonk123$python
■time庫詳解之程序計時
函數(shù)描述
將線程掛起s秒,s可以是浮點數(shù)
sleep(s)
?>time.sleep(5.5)
\______________________________________________________________________________________________________________________7
好Pythonk123$python
time庫詳解之輔助函數(shù)
函數(shù)描述
返回以下五種計時時鐘的屬性值:
'clock'、'monotonies'perf_counter\*process_tinie\'time?
get_clock_info(name)
?>time.get_clock_infor(perCcounter1)
namespace(adjustable=False,implementation:'QueryPerformanceCounterO',
monotonic=True,resolution=2.844443635358255e-07)
\______________________________________________________________________________________________________________________7
好Pythonk123$python
■time庫小結(jié)
time庫函數(shù)的分類(14個)
?時間獲取:。、。、。、
timegmtime()xctime()xasctimelocaltimemktime()
?時間格式化:strftime()xstrptime()
?程序計時:。、。、
dockmonotonicperf_counter()xprocess_time()xsleep()
?輔助函數(shù):get_clock_info()
.)
好Pythonk123$python
/-------------------------\
Python常用標(biāo)準(zhǔn)庫解析(上)
random庫的使用
\/
/Pythonk123
■random庫介紹
random庫是Python中生成隨機數(shù)的標(biāo)準(zhǔn)庫
?庫名:random,生成隨機數(shù)
?提供產(chǎn)生單個或系列隨機數(shù)的功能
?提供隨機組合等相關(guān)操作的功能
https://docs.python.Org/3.7/library/random.html
\____________________________________________________________________________________________)
好Pythonk123$python
■random庫介紹
/\
random庫函數(shù)的分類(21個)
?基本隨機函數(shù):seed()^random。、getstate()xsetstate()
?擴展隨機函數(shù):randint。、getrandbits()xrandrangeQ%choice。、shuffle。、sample()
?分布隨機函數(shù):。、
uniform()>triangularbetavariate()xexpovariate()xgammavariate()x
gauss()xlognormvariate()xnormalvariate()svonmisesvariate()x
paretovariate()、weibullvariate()
\)
好Pythonk123$python
random庫詳解之基本隨機函數(shù)
庫隨機數(shù)產(chǎn)生原理
random0.5714025946899135
0.4288890546751146
隨機數(shù)
0.5780913011344704
seed()梅森旋轉(zhuǎn)算法random()0.20609823213950174
0.81332125135732
隨
隨機數(shù)種子一內(nèi)部狀態(tài)機0.8235888725334455
機
\___________________70.6534725339011758
序
100.16022955651881965
setstate()[]getstate()列
0.5206693596399246
隨機數(shù)產(chǎn)生器狀態(tài)0.32777281162209315
好Pythonk123$python
random庫詳解之基本隨機函數(shù)
函數(shù)描述
初始化給定的隨機數(shù)種子,默認(rèn)為當(dāng)前系統(tǒng)時間
seed(a二None)?>random.seed(10)
生成一個[0?0,1.0)之間的隨機小數(shù)
random()?>random.random()
0.500492727732152
好Pythonk123$python
|random庫詳解之基本隨機函數(shù)
函數(shù)描述
返回隨機數(shù)生成器內(nèi)部狀態(tài),元組類型
?>t=random.getstate()
getstate()
?>type(t)
<class'tuple'〉
設(shè)置隨機數(shù)生成器內(nèi)部狀態(tài),該狀態(tài)從getstate()函數(shù)獲得
setstate(state)?>random.setstate(t)
\__________________________________________________________________________________________________________7
好Pythonk123$python
random庫詳解之?dāng)U展隨機函數(shù)
randint()uniform()
triangularO
randrange()
betavariateO
---------------getrandbits()expovariateO
random()
choice()gammavariateO
、gauss()
shuffle()
lognormvariateO
sampleQnormalvariate()
____________________________________________)
好Pythonk123$python
random庫詳解之?dāng)U展隨機函數(shù)
函數(shù)描述
生成一個[a,b]之間的整數(shù)
randint(a,b)?>random.randint(10,100)
64
生成一個[m,n)之間以k為步長的隨機整數(shù)
randrange(m,n[,k])?>random.randrange(10,100,10)
80
好Pythonk123$python
random庫詳解之?dāng)U展隨機函數(shù)
函數(shù)描述
生成一個k比特長的隨機整數(shù)
getrandbits(k)?>random.getrandbits(16)
37885
從序列seq中隨機選擇一個元素
choice(seq)
?>random.choice([l,2,3)4,5,6,7,8,9])
8
好Pythonk123$python
|random庫詳解之?dāng)U展隨機函數(shù)
函數(shù)描述
將序列seq中元素隨機排列,原序列被修改
?>ls=[1,2,3>4,5,6,7,8,9]
shuffle(seq)
?>random.shuffle(ls)#ls被修改
[3,5,8,9,6,1,2,7,4]
從序列或集合pop中隨機選擇k個元素,原序列或集合不變
?>ls=[1,2,3,4,5,6,7,8,9]
sample(pop,k)
?>random.sample(ls,5)#sample不變
[5,1,2,7,3]
____________________________________________________________________________7
好Pythonk123$python
random庫詳解之分布隨機函數(shù)
函數(shù)描述
生成一個[a,b]之間的隨機小數(shù),采用等概率分布
uniform(a,b)?>random.randint(10,100)
64
生成一個[0,1]之間的隨機小數(shù)
betavariate(alpha,beta)
采用beta分布
生成一個[low,high]之間的隨機小數(shù)
triangular(low,high,mode)
采用三角分布(也叫辛普森分布)
好Pythonk123$python
|random庫詳解之分布隨機函數(shù)
/\
函數(shù)描述
expovariate(lambda)生成一個(0,8)之間的隨機整數(shù),采用指數(shù)分布
gammavariate(alpha,beta)生成一個隨機小數(shù),采用gamma分布
gauss(mu,sigma)生成一個隨機小數(shù),采用高斯分布(也叫正態(tài)分布)
lognormvariate(mu,sigma)生成一個隨機小數(shù),采用對數(shù)正態(tài)分布
normalvariate(mu,sigma)生成一個隨機小數(shù),采用正態(tài)分布
\______________________________________________________________________________________________________________________7
好Pythonk123$python
random庫詳解之分布隨機函數(shù)
函數(shù)描述
vonmisesvariate(mu,kappa)生成一個隨機小數(shù),采用馮米塞斯分布
paretovariate(alpha)生成一個隨機小數(shù),采用帕累托分布
weibullvariate(alpha,beta)生成一個隨機小數(shù),采用韋伯分布
\__________________________________________________________________________________________________________7
好Pythonk123$python
random庫小結(jié)c
避嵬斷9蒯微信顫1圖翳6o
random庫函數(shù)的分類(21個)
?基本隨機函數(shù):seed()xrandom。、getstate()xsetstate()
?擴展隨機函數(shù):randint。、getrandbitsQ%randrangeQ%choice。、shuffle。、sample()
?分布隨機函數(shù):。、
uniform()>triangularbetavariate()xexpovariate()xgammavariate()x
gauss()xlognormvariate()xnormalvariate()xvonmisesvariate()x
paretovariate()xweibullvariate()
.____________________________________________________________________________)
好Pythonk123$python
------------------X
Python常用標(biāo)準(zhǔn)庫解析(上)
re庫的使用
________/
/Pythonk123
re庫介紹
re庫是Python中處理正則表達式的標(biāo)準(zhǔn)庫
?庫名:re
?正則表達式是用來簡潔表達一組字符串的表達式
PN'PYTHN,正則表達式:
'PYN'<=>
.PYTN',PYTH0N,P(Y|YT|YTH|YTHO)?N
https://docs.python.Org/3.7/library/re.html
好Pythonk123$python
■正則表達式語法
/\
正則表達式語法由字符和操作符構(gòu)成
P[丫小YT]YTH3丫TH。陽N
\______________________________________________________________________________________)
好Pythonk123$python
■正則表達式語法
操作符說明實例
*表示任何單個字符
[]字符集,對單個字符給出取值范圍[abc]表示a、b、c,[a-z]表示a到z單個字符
[八]非字符集,對單個字符給出排除范圍「abc]表示非a或b或(:的單個字符
*
前一個字符。次或無限次擴展abc*表示ab、abc、abcc、abccc等
+前一個字符1次或無限次擴展abc+表示abc、abcc、abccc等
7?前一個字符。次或1次擴展abc?表示ab、abc
I左右表達式任意一個abc|def表示abc、def
\______________________________________________________________________________________________________________________7
好Pythonk123$python
■正則表達式語法
操作符說明實例
{m}擴展前一個字符m次ab{2}c表示abbc
{m,n}擴展前一個字符m至n次(含n)ab{l,2}c表示abc、abbc
A匹配字符串開頭Sbc表示abc且在一個字符串的開頭
$匹配字符串結(jié)尾abc$表示abc且在一個字符串的結(jié)尾
0分組標(biāo)記,內(nèi)部只能使用|操作符(abc)表示abc,(abc|def)表示abc、def
\d數(shù)字,等價于[0-9]
\w單詞字符,等價于[A-Za-zO-9」
\___________________________________________________________________________________________________________________7
好Pythonk123$python
正則表達式語法
經(jīng)典正則表達式實例
A[A-Za-z]+$由26個字母組成的字符串
A[A-Za-zO-9]+$由26個字母和數(shù)字組成的字符串
A-?\d+$整數(shù)形式的字符串
A[0-9]*[l-9][0-9]*$正整數(shù)形式的字符串
[l-9]\d{5}中國境內(nèi)郵政編碼,6位
[\u4e00-\u9fa5]匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7}國內(nèi)電話號碼/p>
好Pythonk123$python
Ire庫介紹
/
原生字符串類型:rawstring,不包含對轉(zhuǎn)義符解釋的字符串
?原生字符串:r'text'
*實例:r口-9]\d{5}。對比口?9]\\出5},
r,\d{3}-\d{8}|\d{4}-\d{7}1'\\或3卜\\出8}卜\出4}玉d{7},
好Pythonk123$python
re庫介紹
re庫的主要函數(shù)(7個)
?基礎(chǔ)函數(shù):compile()
?功能函數(shù):。、。、。、。、
searchmatchfindallsplitfinditer()xsub()
.____________________________________________________________________________)
好Pythonk123$python
Ire庫詳解
re.search(pattern,string,lags=O)
在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象
?pattern:正則表達式的字符串或原生字符串表示
?string:待匹配字符串
?flags:正則表達式使用時的控制標(biāo)記
.____________________________________________________________________________)
好Pythonk123$python
Ire庫詳解
re.search(pattern,string,flags=O|
?flags:正則表達式使用時的控制標(biāo)記
常用標(biāo)記說明
redre.lGNORECASE忽略正則表達式的大小寫,[A-Z]能夠匹配小寫字符
re.Mre.MULTILINE正則表達式中的人操作符能夠?qū)⒔o定字符串的每行當(dāng)作匹配的開始
re.Sre.DOTALL正則表達式中的.操作符能夠匹配所有字符,默認(rèn)匹配除換行外的所有字符
\___________________________________________________________________________
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省中職高考數(shù)學(xué)試卷
- 合肥中學(xué)數(shù)學(xué)試卷
- 河南安陽2024三模數(shù)學(xué)試卷
- 2025年中國過濾器元件行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 電子廢棄物處理項目可行性研究報告
- 銀亭設(shè)計調(diào)研報告
- 中國色彩傳感器行業(yè)市場深度分析及投資策略研究報告
- 2021-2026年中國紅外氣體分析儀行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報告
- 中國燒烤臺板行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告(2024-2030)
- 2025年四川省德陽市初中學(xué)業(yè)水平考試中考物理真題試卷(中考真題+答案)
- 粉店合伙合同協(xié)議書范本
- 2.2.2影響化學(xué)平衡的因素 課件高二上學(xué)期化學(xué)人教版(2019)選擇性必修1
- 2025年度河南省鐵路建設(shè)投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025鄭州市輔警考試試卷真題
- 礦山復(fù)墾工程合同協(xié)議
- 馬工程西方經(jīng)濟學(xué)(精要本第三版)教案
- 引水隧洞工程安全施工方案
- 北師大版五年級下冊分?jǐn)?shù)加減法簡便計算400道及答案
- 軟件需求分析中的語義理解技術(shù)-全面剖析
- 市場監(jiān)管培訓(xùn)講義
- 2025年麻風(fēng)病防治知識競賽復(fù)習(xí)試題庫完整
評論
0/150
提交評論