(1)字符串(全部返回的都是新的字符串,字符串屬于有序不可變序列)s.replace(old,new,[max]) s.strip('a’):從字符串前后剔除字符串’a’ s.lstrip('a’):從左邊開始刪除字符串’a' s.rstrip('a’):從右邊開始刪除字符串’a' s.index('k’,start,end):找不到會(huì)報(bào)錯(cuò),建議前面加個(gè)異常處理結(jié)構(gòu) s.find('k’,start,end):找不到不會(huì)報(bào)錯(cuò) s.upper():所有字符轉(zhuǎn)換為大寫字符 s.lower():所有字符轉(zhuǎn)換為小寫字符 s.capitalize():首字符的首字母大寫 s.title():所有字符首字符大寫 s.isalpha():判斷字符是否為字母 s.isupper():判斷字符是否為大寫 s.islower():判斷字符是否為小寫 s.center(10,’*’):會(huì)填充字符 正則表達(dá)式: import re:導(dǎo)入字符處理模塊 re.match(pattern,s,[flag]):匹配 re.search(pattern,s,[flag]):查找 re.findall(pattern,s,[flag]):查找 pattern=re.compile(正則表達(dá)式) flag取值: re.I:匹配時(shí)忽略字符大小寫 re.L:根據(jù)本地設(shè)置而更改\w\W\b\B\S\s的匹配內(nèi)容 re.M:多行匹配 re.S:使’.'也匹配模式 re.U:匹配Unicode字符 re.X:忽略patterns中的空格,并使用#注釋 (2)列表(列表屬于有序可變序列)列表僅用于表示一維和二維數(shù)據(jù) l.index('k’,start,end):作用與上相同 l.append():類似于棧的入棧 l.pop():類似于棧的出棧 l.insert(i,value):在下標(biāo)i出插入指定長,列表長度加一,i取值可以為[0,len(l)] l.remove(’'k):刪除’k’在列表中出現(xiàn)的第一次,列表長度減一 l[a:]:序列切片操作l[::-1]等價(jià)于reversed(l) a=b:a,b指向同一對(duì)象,會(huì)互相影響 a=b[:]:a只是復(fù)制了b中所有的值,但是兩者互不干擾 l.extend(l1):l會(huì)將l1中元素追加到自己的末尾,不改變其內(nèi)存首地址,屬于原地操作 (3)字典 (字典屬于可變序列)d=dict()等價(jià)于d={}:字典初始化 dict.pop(d[a]):刪除鍵值對(duì),返回指定鍵值的值(不存在會(huì)報(bào)錯(cuò),建議用異常處理結(jié)構(gòu)檢查) dict.items():返回一個(gè)鍵值對(duì)組成的迭代對(duì)象,可以用list()強(qiáng)制轉(zhuǎn)換 dict.keys():返回一個(gè)鍵值組成的迭代對(duì)象 dict.values():返回一個(gè)鍵值的值組成的迭代對(duì)象 dict.get(a,b):獲取字典中指定鍵值a的值,不存在返回b(默認(rèn)值,可以自己設(shè)置) 字典的鍵值必須為不可變數(shù)據(jù)類型:元組,字符串,常量(整型,復(fù)數(shù),浮點(diǎn)型),且鍵值唯一。 字典排序:按鍵的值排序,逆序: k=sorted(dict…items(),key=lambda x:x[1],reverse=True) 按鍵值排序,逆序 k=sorted(dict.items(),lambda x:x[0],reverse=True) 二維排序 m=sorted(nums,key=lambda x:(nums.count(x),-x)) nums:一個(gè)可遍歷序列,排序先按元素出現(xiàn)次數(shù)排序,當(dāng)次數(shù)相同時(shí),按大小排序逆序排序 (4)元組(元組屬于有序不可變序列)tuple(l):將可遍歷序列l(wèi)轉(zhuǎn)換為元組 (5)集合(集合屬于無序可變序列,元素不重復(fù))set()!={}:集合初始化要么用set(),要么至少包含一個(gè)元素{1} 集合與集合之間只有包含的關(guān)系,集合不屬于線性結(jié)構(gòu) a={1},b={1,2} a.add(3)操作之后a={1,3} a.update(b)操作之后a={1,2,3}:會(huì)添加b中自身不存在的元素 a&b 求交集 a|b 求并集 forzenset():不可變集合 (6)進(jìn)階函數(shù)map(function,list):function必須為單參數(shù)函數(shù),list必須是可遍歷序列 x,y=map(int(),['1’,'2’]):序列解包 list(map(lambda x:x+1,[1,2,]))輸出[2,3],(注意map()函數(shù)返回的是一個(gè)可迭代對(duì)象,需要轉(zhuǎn)換為所需序列類型) filter(function,list):function必須為單參數(shù)函數(shù),list必須為可遍歷序列 list(filter(lambda x:x>5,[4,5,6]))輸出[6] reduce(function,list):function可以接收多個(gè)參數(shù),list必須為可遍歷序列 reduce(lambda x,y:x*y,[1,2,3])返回6 lambda:匿名函數(shù),f=lambda x:x+=1 print(f(5))會(huì)輸出6 (7)所有結(jié)構(gòu)判斷結(jié)構(gòu) if if-else if-elif-else 循環(huán)結(jié)構(gòu)(遍歷循環(huán),至少執(zhí)行一次遍歷):for i in l:其中l(wèi)必須為可遍歷序列 循環(huán)i結(jié)構(gòu)(無限循環(huán),可能出現(xiàn)死循環(huán)):while 條件 使用break語句可以跳出最近一層的循環(huán);使用continue會(huì)跳出當(dāng)前當(dāng)此循環(huán),會(huì)回到循環(huán)開始處繼續(xù)執(zhí)行。 異常處理結(jié)構(gòu)(使用異常結(jié)構(gòu)無法避免邏輯錯(cuò)誤) try:執(zhí)行部分代碼 except:捕捉異常(無異常繼續(xù)往后執(zhí)行) else:如果不引發(fā)異??梢詧?zhí)行 finally:不論是否有異常都會(huì)執(zhí)行(但在finally中仍可能引發(fā)異常,慎用) 異常通常是在程序運(yùn)行過程中發(fā)生的異常事件,通常由外部問題導(dǎo)致; 錯(cuò)誤是指導(dǎo)致系統(tǒng)不能按照用戶意圖進(jìn)行工作的一切原因,致使程序無法正常進(jìn)行; 基本邏輯控制類型:順序、條件、循環(huán) (8)其他知識(shí)點(diǎn)pytthon特點(diǎn):通用性好,python語言可以用于幾乎任何程序設(shè)計(jì)相關(guān)應(yīng)用的開發(fā); 語法簡潔;生態(tài)高產(chǎn);除此之外還有:跨平臺(tái),強(qiáng)制縮進(jìn)(一般不需要縮進(jìn),頂行編寫且不留空白;縮進(jìn)用來表示后續(xù)代碼與鄰近無縮進(jìn)代碼的所屬關(guān)系;縮進(jìn)不會(huì)增加編程難度),支持中文;在最新的Linux系統(tǒng)中內(nèi)置有python解釋器。 python是一種被廣泛使用的高級(jí)通用腳本編程語言,不是機(jī)器語言,而且是解釋執(zhí)行的,一條一條語句的執(zhí)行。 高級(jí)語言根據(jù)計(jì)算機(jī)執(zhí)行機(jī)制的不同可分為:靜態(tài)語言和腳本語言;靜態(tài)語言采用編譯方式執(zhí)行,腳本語言采用解釋方式執(zhí)行。 組合類型:集合,序列,映射(字典) 基本數(shù)據(jù)類型:整型,浮點(diǎn)型,復(fù)數(shù) 序列類型是一維元素向量,元素之間存在先后關(guān)系,通過下標(biāo)(序號(hào))訪問(字符串、元組、列表) 序列解包:a,b,c=1,2,3等價(jià)于a,b,c=(1,2,3)等價(jià)于a,b,c=[1,2,3] pip install/uninstall 庫名:安裝/卸載第三方庫 pip download 包:下載一個(gè)包 python常用內(nèi)置函數(shù): abs():求絕對(duì)值 sum():求和(參數(shù)必須是序列類型,且元素必須是可計(jì)算類型) all():當(dāng)參數(shù)中所有值為True時(shí)返回True any():當(dāng)參數(shù)中有一個(gè)值為True時(shí)返回True format():格式化函數(shù),格式標(biāo)記包括:<填充><對(duì)齊><寬度><.><精度><類型> 填充常與對(duì)其一起使用:^居中對(duì)齊,>右對(duì)齊,<左對(duì)齊 eval():若參數(shù)為數(shù)據(jù)類型或者表達(dá)式,可以返回最終計(jì)算結(jié)果;若為字符串,必須包含兩層引號(hào),否則會(huì)報(bào)錯(cuò)(建議采取異常處理判斷) id():獲取對(duì)象的內(nèi)存地址,返回內(nèi)存地址(一個(gè)正整數(shù)) type():返回參數(shù)的數(shù)據(jù)類型 min():返回序列中的最小值(前提是序列中元素可以比較) max():返回序列中的最大值(前提是序列中元素可以比較) yield:把一個(gè)函數(shù)變成一個(gè)generater,帶有yield的函數(shù)不再是一個(gè)普通函數(shù),python解釋器會(huì)將其視為一個(gè)可迭代對(duì)象。 int('12’,16)等價(jià)于18(將一個(gè)16進(jìn)制表示的字符串轉(zhuǎn)換為十進(jìn)制數(shù)) 參數(shù)定義規(guī)則: def 函數(shù)名(a,b=0,*c,**d):a為位置參數(shù),b為默認(rèn)參數(shù),c可以傳入一串?dāng)?shù)據(jù)(類似一個(gè)元組),d可以傳入字典(e=0.f=1) 位置參數(shù)在前,默認(rèn)參數(shù),可變長度參數(shù),全局變量在函數(shù)內(nèi)部使用時(shí),必須使用global關(guān)鍵字聲明; 使用函數(shù)目的:降低編程難度,提高代碼復(fù)用 縮進(jìn)指每行語句開始前的空白區(qū)域,用來表示程序間的包含和層次關(guān)系 全局變量在函數(shù)內(nèi)部使用時(shí),需提前使用保留字global進(jìn)行聲明 局部變量指在函數(shù)內(nèi)部定義的變量,僅在函數(shù)內(nèi)部有定義,當(dāng)函數(shù)退出時(shí),變量將不再存在。在同一個(gè)作用域內(nèi),局部變量會(huì)隱藏全局變量。 函數(shù)中return可以多個(gè)值,會(huì)以元組形式返回;也可以不寫,默認(rèn)返回值為None。 函數(shù)默認(rèn)值在函數(shù)定義時(shí)確定,如果默認(rèn)值為列表、字典、集合等可變對(duì)象,并且在函數(shù)內(nèi)部通過下標(biāo)或?qū)ο笞陨淼脑夭僮鞣椒▉硎褂眯螀?,操作的結(jié)果會(huì)被保存,會(huì)影響后續(xù)調(diào)用。(解決辦法,在函數(shù)開始加一個(gè)判斷語句,判斷該可變對(duì)象長度是否為None,不是就將其置為None) |
|