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