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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(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安裝包一個好的編輯器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、運算符與表達式賦值and關(guān)系and算術(shù)and邏輯+=賦值運算符/ 整數(shù)除法%余數(shù)* 求冪注意運算符的順序a=raw_input()輸入一個值到a 括號里面可以加引號“”注釋,前面加int整形# 2016.1.4瘋狂的 python6、數(shù)據(jù)類型數(shù)字、字符串、列表、元組、字典整形 int范圍小,長整形long ,范圍大浮點型 float以及復(fù)數(shù)類型complex ,復(fù)數(shù)用字符串三種 1 到 3個引號三重引號文本的格式不需要用/n等換行j序列用中括號索引,以及切片的概念列表and元組and字符串都是序列序列函數(shù):求長度l

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

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

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

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

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

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

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

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

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

12、使用時為具體字符串對象,后面是具體函數(shù)類型str.capitalize()#首字母大寫str.replace()#替換str.split()#分割#序列處理函數(shù)filter(fun,list)zip(a,b,c)#對list #將中的元素用fun 函數(shù)進行條件篩選abc 組合為一個列表, 并行遍歷, 取出同樣位置的元素組成新的元組列表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)前目錄,注意同名的情況會導(dǎo)致錯誤的調(diào)用模塊放在 lib 里面很多腳本代碼、函數(shù)組成模塊很多模塊組成包#創(chuàng)建包創(chuàng)建包名字的文件夾在該文件夾下創(chuàng)建一個_int_.py的文件根據(jù)需要在該文件夾目錄下存放腳本文件、編譯后的擴展以及子包導(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、正則表達式RE 是一種小型的高度專業(yè)化的編程語言python 中通過re模塊來實現(xiàn)#import re功能:- 可以實現(xiàn)功能有匹配相應(yīng)字符串集來指定規(guī)則- 類似查找 然后執(zhí)行- 同時可以進行字符串的修改分割正則表達式模式被編譯成一系列的字節(jié)碼,然后由c 編寫的匹配引擎執(zhí)行可以理解為另外一種小型的特定功能的語言能夠進行的字符串處理也是有限的元字符#指定字符集, 用于分別匹配其中任意一個字符r=rtabc$

15、#方括號中的院子符不起作用,僅做原符號使用#t表示除了0-9#表示從0 到9import res=rabc#r保持字符串不轉(zhuǎn)義, 即保持原本的代碼,不換行等re.findall(s,ccccvbbbbs) # 用s中的字符去匹配后面的代碼#放于字符串行首, 用于匹配行首,后面出現(xiàn)符合條件的無效$#放于字符串的行尾, 用于匹配行尾#反斜杠可以用來取消元字符,轉(zhuǎn)義為普通字符#取消元字符d8#匹配十進制數(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+#與星號

溫馨提示

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

評論

0/150

提交評論