1.正則表達(dá)式如何寫?
序號(hào) | 實(shí)例 | 說明 |
1 | . | 匹配任何字符(除換行符以外) |
2 | \d | 等效于[0-9],匹配數(shù)字 |
3 | \D | 等效于[^0-9],匹配非數(shù)字 |
4 | \s | 等效于[\t\r\n\f],匹配空格字符 |
5 | \S | 等效于[^\t\r\n\f],匹配非空格字符 |
6 | \w | 等效于[A-Za-z0-9],匹配單字字符 |
7 | \W | 等效于[^A-Za-z0-9],匹配非單字字符 |
8 | [ab]cdef | 匹配acdef或bcdef |
9 | abc[de] | 匹配abcd或abce |
10 | [0-9]\[a-z] | 匹配數(shù)字0-9\小寫字母a-z |
11 | [^0-9]\[^a-z] | 匹配非數(shù)字/非小寫字母 |
12 | abc? | 匹配ab或abc |
13 | abc* | 匹配ab/abc/abcc……0個(gè)以上的c |
14 | abc+ | ab+1個(gè)以上c |
15 | \d{3} | 完全匹配3位數(shù) |
16 | \d{3,5} | 匹配3位、4位、5位數(shù) |
17 | \d{3,} | 匹配3位以上的數(shù) |
邊界匹配:不消耗匹配字符串中的字符
序號(hào) | 實(shí)例 | 說明 |
1 | ^ | 匹配開始位置,多行模式匹配每一行的開始,如^abc,則在開始位置匹配abc |
2 | $ | 匹配結(jié)束位置,如.*sh$,在結(jié)束位置匹配agfiasfush |
3 | \b | er\b可以匹配never中的er,但是不能匹配verb中的er |
4 | \B | er\B可以匹配verb中的er,但是不能匹配never中的er |
5 | \A | 匹配開始位置,忽略多行模式 |
6 | \Z | 匹配結(jié)束位置,忽略多行模式 |
貪婪匹配與惰性匹配:以<div>hello world</div>為例
序號(hào) | 實(shí)例 | 說明 |
1 | <.> | 貪婪匹配模式,得到的是<div>hello world</div> |
2 | <.?> | 惰性匹配模式,得到的是<div>或者</div> |
?2.常用正則表達(dá)式實(shí)例
序號(hào) | 實(shí)例 | 說明 |
用戶名 | ^[a-z0-9_-]{3,16}$ | 只能包含小寫字母、數(shù)字、下劃線、-、至少3位至多16位 |
密碼 | ^[a-z0-9_-]{3,18}$ | 只能包含小寫字母、數(shù)字、下劃線、-、至少3位至多18位 |
十六進(jìn)制值 | ^[0-9A-F]{6}|[0-9A-F]{3}$ | 以#開頭,0-F,一共6位或者3位 |
電子郵箱 | ^([0-9a-zA-Z_-.])@([0-9a-z]).([a-z.]{2,6})$ |
3.Python的邏輯運(yùn)算符
3.1 not
not True:False
3.2 and
True and False : False
and是一種短路操作符,從左到右解析,確認(rèn)結(jié)果即停止
0 and 18:0
15 and 18:18
4 and 3: 3
3.3 or
1. True or True : True
2. True or False : True
3. False or True : True
4. False or False : False
?同樣or也是一種短路操作符,確認(rèn)結(jié)果即停止
4 or 3 : 4
3 or 0 : 3
0 or 3 : 3
4.lamda表達(dá)式
lambda表達(dá)式是一種匿名函數(shù),表達(dá)式可以作為參數(shù)傳遞給其他函數(shù)或直接被調(diào)用。
add = lambda x, y: x + y
print(add(5, 3))
?5.二叉樹的遍歷
- 前序遍歷:先輸出父節(jié)點(diǎn),再遍歷左子樹,然后遍歷右子樹:ABDEGCF
- 中序遍歷:先遍歷左子樹,再輸出父節(jié)點(diǎn),然后遍歷右子樹:DBGEACF
- 后續(xù)遍歷:先遍歷左子樹,再遍歷右子樹,最后輸出父節(jié)點(diǎn):DGEBFCA
6.Type()和isinstance()的區(qū)別
isinstance(object, classinfo)傳入兩個(gè)參數(shù),并判斷object是否屬于classinfo對(duì)應(yīng)的類
type(object)一般只傳入一個(gè)參數(shù),輸出object對(duì)應(yīng)的類<class'__main__.A'>
type(object) == A 實(shí)現(xiàn)與isinstance類似的功能但是區(qū)別在于:
????????1.type只接收一個(gè)參數(shù),不但可以判斷變量是否屬于某個(gè)類型,而且可以得到未知的參數(shù)變量所屬的類型;而isinstance只能判斷是否屬于某個(gè)已知類型,不能直接得到變量未知的所屬的類型文章來源:http://www.zghlxwxcb.cn/news/detail-677572.html
????????2.isinstance可以判斷子類實(shí)例對(duì)象是屬于父類的;而type會(huì)判斷子類實(shí)例對(duì)象和父類類型不一樣文章來源地址http://www.zghlxwxcb.cn/news/detail-677572.html
到了這里,關(guān)于Python學(xué)習(xí)筆記:正則表達(dá)式、邏輯運(yùn)算符、lamda、二叉樹遍歷規(guī)則、類的判斷的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!