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中的空格,并使用#注釋
列表僅用于表示一維和二維數(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)存首地址,屬于原地操作
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í),按大小排序逆序排序
tuple(l):將可遍歷序列l(wèi)轉(zhuǎn)換為元組
注意元組只有一個(gè)元素時(shí)必須為(a,):逗號(hào)不能省略
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():不可變集合
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
判斷結(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)
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)
聯(lián)系客服