python筆記報(bào)告_第1頁
python筆記報(bào)告_第2頁
python筆記報(bào)告_第3頁
python筆記報(bào)告_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Python 學(xué)習(xí)筆記# 本文用 ultredit編輯,轉(zhuǎn)為 txt 查看更加方便# 2016.1.3 瘋狂的 python#coding:utf81、 python 基本膠水語言,注意版本(通用的2.6 ,以及前沿的 3.0 )解釋性and編譯性面向?qū)ο骯nd面向過程無需考慮內(nèi)存的分配庫以及模塊的便捷性2、環(huán)境linux自帶windows msi安裝包一個(gè)好的編輯器3、 linux交互執(zhí)行and py文件執(zhí)行三種文件類型:py源代碼不需要編譯andpyc編譯后生成的字節(jié)代碼and優(yōu)化代碼 pyo4、變量變量名為標(biāo)簽,將標(biāo)簽分給值,值的內(nèi)存已經(jīng)定了而標(biāo)簽的內(nèi)存位置是變化的命名規(guī)則:不可數(shù)字開頭

2、,不可關(guān)鍵詞,組合為數(shù)字字母下劃線用之前需要先定義變量id ()查看地址空間5、運(yùn)算符與表達(dá)式賦值and關(guān)系and算術(shù)and邏輯+=賦值運(yùn)算符/ 整數(shù)除法%余數(shù)* 求冪注意運(yùn)算符的順序a=raw_input()輸入一個(gè)值到a 括號(hào)里面可以加引號(hào)“”注釋,前面加int整形# 2016.1.4瘋狂的 python6、數(shù)據(jù)類型數(shù)字、字符串、列表、元組、字典整形 int范圍小,長整形long ,范圍大浮點(diǎn)型 float以及復(fù)數(shù)類型complex ,復(fù)數(shù)用字符串三種 1 到 3個(gè)引號(hào)三重引號(hào)文本的格式不需要用/n等換行j序列用中括號(hào)索引,以及切片的概念列表and元組and字符串都是序列序列函數(shù):求長度l

3、en (),連接 +,重復(fù)序列元素* ,判斷元素是否在in ,最大最小值以及cmp( a, b)兩個(gè)序列值是否相同,左邊大于右邊1,小于 -1 ,等于 0元組元組與序列相似,只是不能改變值(內(nèi)存的角度),元組用小括號(hào)元組 tuplea,b,c=(a,b,c)可以存一系列的值,用逗號(hào)隔開,如靈活的元組定義a= ( w, wtf, f )列表列表 list與元組不同之處在于,用中括號(hào)定義如 a=a,c,c而且其中的值是可以改變的修改如 a0=1,直接賦值修改,修改后存儲(chǔ)空間不變(與元組不同)a.append() a.remove()增加以及刪除元素系統(tǒng)函數(shù)del ()對(duì)象以及類對(duì)象 =屬性 +方法

4、a=1,2,3, a即為列表這一類里面的一個(gè)對(duì)象a.append()即為一個(gè)方法類對(duì)應(yīng)的對(duì)象,對(duì)應(yīng)的方法,對(duì)應(yīng)的變量字典zip ( a, b),兩個(gè)列表形成一個(gè)元組字典為無序的數(shù)據(jù),可變是一種映射類型,用keys ()或者values ()返回鍵列表或者值列表items ()返貨包含鍵值對(duì)的元組dic1:a,2:0索引時(shí)用1 得到 a,2 得到 0 如 dic1=adic 的鍵一定要用不可變的值,數(shù)字字符元組都行(列表不行)dic=.fromkeys(x,y),-1)另一種定義的方式,適用于有兩個(gè)一樣的元素時(shí)可用 for循環(huán)的方式來訪問字典的key 以及字典的值字典可以直接加key 以及值而且

5、不會(huì)超出邊界,無序dicname=cm修改跟添加一樣,刪除可以用系統(tǒng)函數(shù)del ()dict.后面的一些函數(shù)7、流程控制if語句建議用四個(gè)空格表示縮進(jìn)條件段后面用:表示代碼段的開始縮進(jìn)要一致,不恰當(dāng)時(shí)會(huì)報(bào)錯(cuò),如IndentationError: expected an indented block縮進(jìn)的格式控制if語句的范圍,即語句分組條件式最重要的就是邏輯值的判斷,以及與邏輯運(yùn)算的配合elif代替 elseif8、邏輯運(yùn)算或且非or and!大小判斷是否not邏輯判斷用=與賦值不同9、 for 循環(huán)用于序列時(shí),對(duì)序列依次取值進(jìn)行語句運(yùn)算for x in 0,1,2,3,4,5,6:print

6、 x,hello world#x 從 0 到 6 執(zhí)行七次range(i, j ,步進(jìn)值 )生成一個(gè)序列從i 開始到 j (不包含j ),i 默認(rèn)為 0,步進(jìn)值默認(rèn)為 110、遍歷for x in 1,2,3,a,mprint x# 通過迭代變量實(shí)現(xiàn)遍歷for x in rang(len(s)if x=1 #嵌套 if 進(jìn)行判斷print sx #通過序列本身索引來依次取值遍歷字典的遍歷是直接獲取的是key 而并不是值dir.items()進(jìn)行提取字典的key 以及值形成一個(gè)元組,從而進(jìn)行key 以及值的遍歷11、循環(huán)控制非正常結(jié)束不會(huì)執(zhí)行后面的代碼,如手動(dòng)結(jié)束break會(huì)結(jié)束循環(huán)contin

7、ue跳出當(dāng)次循環(huán)的余下語句pass 進(jìn)行占位防止縮進(jìn)錯(cuò)誤#代碼樁exit()退出整個(gè)代碼#linux系統(tǒng)下退出python 環(huán)境12、 while#沒有次數(shù)靠條件決定的無限次循環(huán)注意防止死循環(huán),手動(dòng)結(jié)束ctrl+c #linux系統(tǒng)下定義空變量防止未定義變量的錯(cuò)誤,同時(shí)提升速度縮進(jìn)控制循環(huán)語句的范圍,注意else與其對(duì)應(yīng)的循環(huán)縮進(jìn)相同13、函數(shù)完成特定功能的一組語句,重在重復(fù)使用def函數(shù)名(參數(shù)列表): # 可以沒有參數(shù)函數(shù)體命名規(guī)則與變量相同命令行之下可以直接定義,回車結(jié)束定義注意函數(shù)定義是用四個(gè)空格縮進(jìn)#瘋狂 python 2016.1.514、參數(shù)的類型函數(shù)定義時(shí)的參數(shù)為形參,調(diào)用時(shí)用

8、實(shí)參數(shù)量以及順序要一一對(duì)應(yīng)#形參與輸入的不同時(shí),多出來的值可以進(jìn)行處理range()函數(shù)的用法不用.py文件直接用代碼定義函數(shù)時(shí),要用四個(gè)空格縮進(jìn)的格式#瘋狂 python 2016.1.715、變量作用域函數(shù)定義行定義的變量,為局部變量,函數(shù)外不能使用全局變量,整個(gè)程序都可以使用如果兩種變量重名,仍然保持各自的全局性以及去不性可以通過global強(qiáng)制變?yōu)槿肿兞? 函數(shù)不調(diào)用,局部變量不會(huì)生成16、函數(shù)返回值默認(rèn)不返回return返回值#執(zhí)行后函數(shù)終止,返回值可以使任意類型返回值與打印值存在本質(zhì)區(qū)別不加return時(shí) z=fun ()z的值為 none16、函數(shù)傳值fun ( *a )一個(gè)星

9、號(hào)傳一個(gè)元組# 仍然需要實(shí)參與形參一一對(duì)應(yīng)fun ( *a ) 兩個(gè)星號(hào)傳一個(gè)字典def f( x,*a ) 用帶星號(hào)的轉(zhuǎn)化為元組,用于儲(chǔ)存多余的實(shí)參如 f ( 1, 2, 3, 4), 1 即為形參 x,( 2,3, 4)為第二個(gè)形參,一個(gè)元組存在映射關(guān)系的參數(shù)要存在dir 里面17、 lambda 表達(dá)式#一種快速定義單行的最小函數(shù),只能用單行def f( x,y):#對(duì)應(yīng)的lambda表達(dá)式為g=lambda x, y: x*yreturn x*y#lambda表達(dá)式不需要return語句簡化定義函數(shù)的過程,同時(shí)不用考慮命名,常用語執(zhí)行類的腳本,不需要重復(fù)調(diào)用reduce(函數(shù),列表)

10、,依次將列表中的值送到前面函數(shù)中,可以直接在函數(shù)的位置用lambda 定義l=1,2,3,4def f(x,y):return x*yreduce(f,l)#實(shí)現(xiàn)階乘reduce(lambda x,y:x*y,l)#采用lambda避開函數(shù)的定義18、 swith用于多分支結(jié)構(gòu),與if else結(jié)構(gòu)類似,語句表達(dá)清晰,可讀性高python 中實(shí)現(xiàn) swith ,通過字典,沒有自帶這種關(guān)鍵字通過字典中key 作為選擇項(xiàng),在值的位置可以直接進(jìn)行運(yùn)算通過 dir.get()函數(shù)直接取值也可以通過python中的類實(shí)現(xiàn)這個(gè)功能可以將函數(shù)名作為dir的值,從而實(shí)現(xiàn)選擇函數(shù)的這種功能19、內(nèi)置函數(shù)abs(

11、)#取絕對(duì)值min() max() #返回序列中的最值len()#取序列的尺寸divmod(5 ,2)#除法以及余數(shù)round()#返回浮點(diǎn)數(shù)callable()#測(cè)試函數(shù)是否可以被調(diào)用isinstance(a,list)#判斷數(shù)據(jù)的類型 , 左邊為判斷列表cmp()#用來比較兩個(gè)個(gè)字符串那個(gè)大range()#快速生成序列xrange()#與 range 效率不一樣type()#查看數(shù)據(jù)類型int()#轉(zhuǎn)為整形,數(shù)字型字符串較實(shí)用long()#轉(zhuǎn)為長整形float()#轉(zhuǎn)為浮點(diǎn)型complex()#復(fù)數(shù)str()list()tuple()hex()oct()chr()ord()#類型前綴 ,

12、使用時(shí)為具體字符串對(duì)象,后面是具體函數(shù)類型str.capitalize()#首字母大寫str.replace()#替換str.split()#分割#序列處理函數(shù)filter(fun,list)zip(a,b,c)#對(duì)list #將中的元素用fun 函數(shù)進(jìn)行條件篩選abc 組合為一個(gè)列表, 并行遍歷, 取出同樣位置的元素組成新的元組列表map(fun,a,b)reduce(fun,a)#與 zip 類似, ab 并行遍歷,值傳給 #a 中的元素遍歷,送到 fun 函數(shù)里面fun函數(shù)20、模塊#將腳本封裝用于其他腳本#如已有腳本1.py可以用 import 1來導(dǎo)入該腳本python 根據(jù)自己的路

13、徑找import的文件import相當(dāng)于將該腳本執(zhí)行了一次print_name_#判斷是否直接調(diào)用main為直接調(diào)用,調(diào)用顯示文件名為簡介調(diào)用#python調(diào)用模塊的先后順序程序調(diào)用模塊先找 當(dāng)前目錄,注意同名的情況會(huì)導(dǎo)致錯(cuò)誤的調(diào)用模塊放在 lib 里面很多腳本代碼、函數(shù)組成模塊很多模塊組成包#創(chuàng)建包創(chuàng)建包名字的文件夾在該文件夾下創(chuàng)建一個(gè)_int_.py的文件根據(jù)需要在該文件夾目錄下存放腳本文件、編譯后的擴(kuò)展以及子包導(dǎo)入包的方式為:import pack.m1,pack.m2#pack為文件夾名字m1為模塊的名字后面可以用.加函數(shù)名字同樣的語句還有import , import as ,fro

14、m import #可以再交互模式下直接用import fun as f#導(dǎo)入之后用后面的名字代替模塊的名字from fun import fun1#從模塊fun中導(dǎo)入直接導(dǎo)入函數(shù)fun121、正則表達(dá)式RE 是一種小型的高度專業(yè)化的編程語言python 中通過re模塊來實(shí)現(xiàn)#import re功能:- 可以實(shí)現(xiàn)功能有匹配相應(yīng)字符串集來指定規(guī)則- 類似查找 然后執(zhí)行- 同時(shí)可以進(jìn)行字符串的修改分割正則表達(dá)式模式被編譯成一系列的字節(jié)碼,然后由c 編寫的匹配引擎執(zhí)行可以理解為另外一種小型的特定功能的語言能夠進(jìn)行的字符串處理也是有限的元字符#指定字符集, 用于分別匹配其中任意一個(gè)字符r=rtabc$

15、#方括號(hào)中的院子符不起作用,僅做原符號(hào)使用#t表示除了0-9#表示從0 到9import res=rabc#r保持字符串不轉(zhuǎn)義, 即保持原本的代碼,不換行等re.findall(s,ccccvbbbbs) # 用s中的字符去匹配后面的代碼#放于字符串行首, 用于匹配行首,后面出現(xiàn)符合條件的無效$#放于字符串的行尾, 用于匹配行尾#反斜杠可以用來取消元字符,轉(zhuǎn)義為普通字符#取消元字符d8#匹配十進(jìn)制數(shù), 相當(dāng)于類從0 到9,8表示重復(fù)8 次D#匹配任何非數(shù)字字符, 相當(dāng)于類 0-9s#匹配任何空白字符, 相當(dāng)于類 tnrfvS#匹配任何非空白字符, 相當(dāng)于類 tnfvw#匹配任何字母數(shù)字字符,相當(dāng)于類 a-zA-Z0-9W#匹配任何非字母數(shù)字字符,相當(dāng)于類 a-zA-Z0-9a*# 表示將前面的字符重復(fù)不定次數(shù), 0 到 20 億次a+#與星號(hào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論