日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python基礎(chǔ)知識(shí)匯總(避坑)

 老三的休閑書屋 2021-04-01

(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)換為元組
注意元組只有一個(gè)元素時(shí)必須為(a,):逗號(hào)不能省略

(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)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多