大學(xué)計算機(Windows 10+WPS Office 2019)(微課版) 課件 第5-7章 WPS辦公軟件、python程序設(shè)計、計算機網(wǎng)絡(luò)基礎(chǔ)_第1頁
大學(xué)計算機(Windows 10+WPS Office 2019)(微課版) 課件 第5-7章 WPS辦公軟件、python程序設(shè)計、計算機網(wǎng)絡(luò)基礎(chǔ)_第2頁
大學(xué)計算機(Windows 10+WPS Office 2019)(微課版) 課件 第5-7章 WPS辦公軟件、python程序設(shè)計、計算機網(wǎng)絡(luò)基礎(chǔ)_第3頁
大學(xué)計算機(Windows 10+WPS Office 2019)(微課版) 課件 第5-7章 WPS辦公軟件、python程序設(shè)計、計算機網(wǎng)絡(luò)基礎(chǔ)_第4頁
大學(xué)計算機(Windows 10+WPS Office 2019)(微課版) 課件 第5-7章 WPS辦公軟件、python程序設(shè)計、計算機網(wǎng)絡(luò)基礎(chǔ)_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大學(xué)計算機任課老師:*******微課版第5章WPS辦公軟件1WPSOffice概述2WPS文字文檔3WPS表格4WPS演示文稿5.1WPSOffice概述5.1.1WPS首頁WPS具有一站式融合辦公的特點,可以從首頁新建或訪問“文字”“表格”“PPT”等文檔,查看日程等。新建/打開WPSOffice2019文檔在WPS中新建/打開文檔在資源管理器中新建/打開文檔5.2WPS文字文檔5.2.1文字文檔的編輯修改輸入文本輸入特殊符號選擇文本移動或復(fù)制文本文本的復(fù)制、移動格式復(fù)制5.2.2文字文檔的排版設(shè)置字體格式設(shè)置段落格式設(shè)置頁面布局5.2.3文字文檔中的表格插入表格設(shè)置表格布局和表格樣式文本和表格的相互轉(zhuǎn)換5.2.4文字文檔的圖文混排插入圖片插入二維碼插入截屏插入公式設(shè)置圖片格式5.2.5文字文檔的高級編排插入頁眉頁腳使用樣式應(yīng)用“樣式庫”的樣式新建樣式修改樣式生成目錄插入公式5.2.6文字文檔的審閱修訂狀態(tài)添加批注比對文檔5.3

WPS表格5.3.1WPS表格工作窗口5.3.2編輯電子表格輸入各種類型的數(shù)據(jù)高效輸入數(shù)據(jù)自定義序列選擇區(qū)域調(diào)整行高和列寬設(shè)置單元格格式設(shè)置數(shù)字格式設(shè)置條件格式5.3.3公式運算公式公式中的運算符單元格的引用相對引用絕對引用混合引用工作表和工作簿引用5.3.4函數(shù)的使用直接輸入函數(shù)用函數(shù)向?qū)л斎牒瘮?shù)用“求和”按鈕輸入函數(shù)5.3.5數(shù)據(jù)管理與統(tǒng)計自動篩選高級篩選數(shù)據(jù)透視表5.3.6圖表的制作插入圖表圖表的編輯5.4

WPS演示文稿5.4.1演示文稿的排版創(chuàng)建新演示文稿設(shè)置幻燈片的大小切換視圖方式幻燈片母版的應(yīng)用5.4.2演示文稿的放映幻燈片放映排練計時設(shè)置放映方式手機遙控5.4.3演示文稿的打包

文件打包功能可以把演示文稿及文稿中用到的視頻、音頻、文件以及鏈接等一起保存到一個文件夾中,直接復(fù)制該文件夾即可。也可以把演示文稿打包成壓縮包。第6章

Python程序設(shè)計大學(xué)計算機基礎(chǔ)1Python語言概述2Python程序設(shè)計入門基礎(chǔ)3Python數(shù)據(jù)類型4程序流程控制結(jié)構(gòu)6.1Python語言概述搭建Python編程環(huán)境1.打開Python官網(wǎng):,下載適合自己電腦的安裝包搭建Python編程環(huán)境2.安裝Python解釋器動手編寫第一個程序-交互式Python安裝完成后,單擊windows的“開始”按鈕,找到“Python3.9”單擊“IDLE(Python3.964-bit)”即可打開編程環(huán)境在Python提示符“>>>”右側(cè)輸入代碼,完整寫完一條語句以后按“Enter”鍵執(zhí)行。>>>print("helloworld")helloworld>>>23+4568動手編寫第一個程序-文件式在IDLE主窗口的菜單欄上,執(zhí)行“File-NewFile”,打開一個新窗口“untitled”在光標(biāo)閃爍的地方就可以輸入代碼,一行語句輸入完后按“ENTER”鍵換到下一行可繼續(xù)輸入下一行代碼在菜單欄中執(zhí)行“Run—RunModule”菜單項或按<F5>,單擊“確定”以后彈出一個“另存為”窗口,在窗口下方輸入文件名,Python程序文件的擴展名為.py,這里保存為test.py。6.2Python程序入門基礎(chǔ)問題引出例2:編寫一個程序來計算圓的面積,圓的半徑需大于0。關(guān)鍵字與標(biāo)識符關(guān)鍵字是Python語言本身定義好的有特殊含義的代碼元素,Python中有些關(guān)鍵字不能作為標(biāo)識符。關(guān)鍵字與標(biāo)識符標(biāo)識符就是變量、函數(shù)、類、模塊等需由程序員自己來命名的名稱,標(biāo)識符的命名需遵循一定的命名規(guī)則:(1)必須以字母或下畫線開頭,由字母、數(shù)字或漢字組成;(2)區(qū)分大小寫;(3)不能使用33個關(guān)鍵;最重要的命名規(guī)則是,選取的名稱應(yīng)該能夠清楚地說明該變量、函數(shù)、類、模塊等所包含的意義,即“見名知義”,增加代碼的可讀性。變量變量是表示計算機存儲器中表示的一些值的名稱,通常是字母字符或字。變量用于存儲數(shù)據(jù),可以在程序執(zhí)行過程中被賦值和改變。創(chuàng)建變量>>>x=20#創(chuàng)建變量x,整數(shù)類型>>>name="xiangqiaolian"#創(chuàng)建變量y,字符串類型>>>x#輸出變量x的值20>>>name#輸出變量name的值'xiangqiaolian'變量如何“變”>>>x=20#次對變量x賦值,創(chuàng)建變量x,初值為20>>>x=x+5#再次對x賦值,將右邊表達式x+5的結(jié)果25重新賦值給x>>>x#輸出x的最新值為2525>>>x="abc"#再次對x進行賦值,將字符串”abc”賦值給x>>>x#輸出變量x的最新值為”abc”'abc'變量“出錯”變量必須先創(chuàng)建后使用,否則系統(tǒng)會報錯。例:>>>x=20#創(chuàng)建變量x,賦值為20>>>x=x+y#將右邊表達式x+y的結(jié)果賦值給x,系統(tǒng)報錯,因為y沒有創(chuàng)建Traceback(mostrecentcalllast):File"<pyshell#1>",line1,in<module>x=x+yNameError:name'y'isnotdefined對象、名字和引用所有的值都是對象一個變量是一個引用對象的名字一個對象可能有多個名字引用它這個特性在內(nèi)部修改對象的時候很重要!你可能不得不做出適當(dāng)?shù)目截悂淼玫侥阋男Ч麑Σ豢勺儗ο?數(shù)字,字符串),這永遠不是問題a>>>a=[1,3,2]>>>b=a>>>c=b[0:2]>>>d=b[:][1,3,2]bcd[1,3][1,3,2]>>>b.sort()#'a'被改變!>>>a[1,2,3]標(biāo)準輸入輸出程序用來解決某個問題時需要用到數(shù)據(jù)的輸入與輸出。數(shù)據(jù)輸入輸出的方式很多,從鍵盤上輸入數(shù)據(jù)的方式稱為標(biāo)準輸入,數(shù)據(jù)在屏幕上顯示的輸出方式稱為標(biāo)準輸出。Python提供內(nèi)置函數(shù)input和print來實現(xiàn)程序的標(biāo)準輸入與輸出。標(biāo)準輸入input格式:input([提示信息])說明:暫停程序的運行,等待用戶從鍵盤上輸入數(shù)據(jù);用戶從鍵盤上輸入數(shù)據(jù)以后,返回字符串;括號內(nèi)可以加提示信息,也可以不加。標(biāo)準輸入input>>>x=input("請輸入一個數(shù):")#等待從鍵盤上輸入一個數(shù),把這個數(shù)賦值給變量x請輸入一個數(shù):3#光標(biāo)閃爍的地方輸入數(shù)字3>>>x#x的值為’3’'3'>>>type(x)#查看x的數(shù)據(jù)類型為str,即字符串型<class'str'>>>>y=input()#等待從鍵盤上輸入數(shù)據(jù),沒有提示信息時只有光標(biāo)閃爍aa#在光標(biāo)閃爍的地方輸入aa>>>y'aa'>>>type(y)<class'str'>標(biāo)準輸出print格式:print(輸出項1,輸出項2,輸出項3……[,sep=’,’][,end=’\n’])說明:標(biāo)準輸出函數(shù),“[]”括起來表示可選項。(1)如果有多項輸出,輸出項1和輸出項2之間用逗號分隔;(2)多項輸出的結(jié)果在屏幕上顯示時默認是空格隔開,可以通過sep=’分隔符’方式指定多個輸出項在屏幕上顯示時用指定分隔符隔開;(3)默認情況下執(zhí)行完一條print語句以后,下一條print語句的輸出結(jié)果會換行顯示,如果不換行顯示,可以通過end=’分隔符’指定同行顯示時的分隔符。標(biāo)準輸出printname='zhangsan'age=20sex='female'print(name)print(name,age,sex)print(name,age,sex,sep=',')print(name,end='')print(age,end='')print(sex)Python代碼編寫規(guī)范-縮進Python程序依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系,同一級別的代碼縮進量必須相同。Python代碼編寫規(guī)范-注釋(1)單行注釋以符號#開始,表示#之后的內(nèi)容為注釋,可以放在代碼行后面,也可以單獨成一行。(2)多行注釋包含在一對三單引號或三雙引號之間且不屬于任何語句的內(nèi)容將被解釋器認為是注釋。Python代碼編寫規(guī)范-續(xù)行如果一行代碼太長,在行尾加上“\”來續(xù)行,表示下面一行接續(xù)上一行成為一條完整語句,也可以使用括號來包含多行內(nèi)容。>>>print("人生苦短\#用“\”續(xù)行我用Pyhon")人生苦短我用Pyhon>>>print(1+2#用小括號續(xù)行 +3+4+5+6+7)28如何分段很長的行有時,一行代碼需要被切為多行顯示縮進規(guī)則意味著我們沒有自由的形式可用"illegalsyntaxexample"ifa_complicated_expressionandanother_complicated_expression:print('thisisillegalsyntax;itwillnotwork‘)選擇1:在一行的最后使用連續(xù)字符'\'"validsyntaxexample1"ifa_complicated_expressionand\another_complicated_expression:print('thisisvalidsyntax‘)"validsyntaxexample2"if(a_complicated_expressionandanother_complicated_expression):print('thisisvalidsyntax‘)選擇2:用圓括號括起表達式在圓括號里面的行可以中斷,換行[]與{}也是可以的6.3Python數(shù)據(jù)類型整數(shù)整數(shù)就是數(shù)學(xué)意義上的整數(shù)。整數(shù)有正整數(shù)、0和負整數(shù),Python中可以表示任意大小的整數(shù)。浮點數(shù)浮點數(shù)表示一個實數(shù),由整數(shù)部分和小數(shù)部分組成,如:1.7,3.14,0.0002等。浮點數(shù)也可以用科學(xué)計數(shù)法表示,如3.14e5,就是3.14*105。由于精度問題,浮點數(shù)使用時盡量避免直接進行相等性測試。>>>0.1+0.2==0.3#判斷0.1+0.2等于0.3否False#False表示不等>>>0.1+0.2#計算0.1+0.2的值0.30000000000000004復(fù)數(shù)Python支持的復(fù)數(shù)類型形式上跟數(shù)學(xué)上的復(fù)數(shù)完全一致。>>>x=1+2j#定義一個復(fù)數(shù)>>>y=3+4j>>>x+y#兩個復(fù)數(shù)相加(4+6j)常用運算>>>2+2.3#加法4.3>>>10/3#除法3.3333333333333335>>>10//3#整商(商的整數(shù)部分)3>>>10%3#余數(shù)1數(shù)字表達式通常的數(shù)字表達式運算符:+,-,/,*,**,%,//運算優(yōu)先級和括號正常工作>>>12+517>>>12+5*222>>>(12+5)*234>>>a=12+5>>>print(a)17>>>b=12.4+a#aisconvertedtofloatautomatically>>>b29.4>>>print(b)29.4>>>4+5.59.5>>>1+3.0**210.0>>>1+2j+3-4j(4-2j)邏輯表達式(布爾表達式)booleanTrue和False為預(yù)定義值;實際上是整數(shù)1和0值0作為False,所有其他值是True常見的布爾表達式運算符:not,and,or>>>TrueorFalseTrue>>>not((TrueandFalse)orTrue)False>>>True*1212>>>0and10比較運算符產(chǎn)生布爾值比較運算符:<,<=,>,>=,==,!=>>>12<13True>>>12>13False>>>12<=12True>>>12!=13True案例分享例:編寫程序,由用戶任意輸入兩個數(shù),計算這兩個數(shù)的和,并打印輸出。num1=eval(input("輸入第1個數(shù):"))num2=eval(input("輸入第2個數(shù):"))s=num1+num2print("兩個數(shù)的和為:",s)結(jié)果如下:輸入第1個數(shù):12輸入第2個數(shù):23.23兩個數(shù)的和為:35.230000000000004字符串stringPython語言中的字符串?dāng)?shù)據(jù)是由定界符單引號、雙引號、三單引號或三雙引號來定義,如'hello',"我愛中國"。字符串中的單引號如果是作為一個字符單引號出現(xiàn),則定義這個字符串的時候定界符需要換成雙引號,反之亦然。如“I’mateacher”。字符串string單引號和雙引號均可用于字符串生成一樣的字符串值字符串中的特殊符號:\nnewline,\ttab,others三引號(單、雙均可)用于大塊的文本內(nèi)容>>>a='Helloworld!'>>>b="Helloworld!">>>a==bTrue>>>a="Oneline.\nAnotherline.">>>print(a)Oneline.Anotherline.>>>b="""Oneline,anotherline.""">>>print(b)Oneline,anotherline.>>>a="Per'slecture">>>print(a)Per'slecture字符串轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換需要用到函數(shù):'str','int','float'函數(shù)'eval'將一個字符串解釋為Python表達式>>>a="58">>>type(a)<class'str'>>>>b=int(a)>>>b58>>>type(b)<class'int'>>>>c=int('blah')#如果不合法的表達式出現(xiàn)會怎樣?Traceback(mostrecentcalllast):File"<pyshell#34>",line1,in-toplevel-c=int('blah')ValueError:invalidliteralforint():blah>>>f=float('1.2e-3')>>>f#uses'repr'0.0012>>>print(f)#uses'str'0.0012>>>eval('23-12')11字符串運算符>>>a="Part1">>>b="andpart2">>>a+''+b#合并,添加字符串'Part1andpart2'>>>s=a*2#重復(fù)并合并字符串>>>print(s)Part1Part1>>>s[0]#下標(biāo):單個字符,偏移量為0'P'>>>s[0:4]#片段:部分字符串,從0到4的正左方'Part'>>>s[5:]#邊界留出:一直到字符串的一端'1Part1'>>>s[6:-1]#負數(shù)代表指標(biāo)計數(shù)從右邊開始,結(jié)束點在-1的正左方'Part'>>>len(s)#函數(shù)'len'獲得字符串的長度12>>>'p'ins#成員屬性測試False>>>'P'insTrue>>>'Part'ins#子串測試True改變字符串:不行!Python中的字符串不可修改!如果你真的要改變一個字符串:用舊的字符串片段生成一個新的>>>s[0]='B'Traceback(mostrecentcalllast):File"<pyshell#68>",line1,in-toplevel-s[0]='B'TypeError:objectdoesn'tsupportitemassignment>>>s='B'+s[1:]>>>s'Bart1Part1'重新生成字符串可能要用到大量的計算機資源如果你要生成許多新串,嘗試字符串格式化列表(List)處理能讓字符串處理更為有效字符串方法字符串有一組built-in

(內(nèi)建,內(nèi)置,內(nèi)嵌)方法沒有方法可以改變原串!有幾個方法可以生成新串>>>s='astring,withstuff'>>>s.count('st')#有多少子串?2>>>s.find('stu')#如果可以,給出子串的位置15>>>three='3'>>>three.isdigit()#是純數(shù)字串嗎?True>>>supper=s.upper()#轉(zhuǎn)為大寫>>>supper'ASTRING,WITHSTUFF'>>>s.rjust(30)#通過加空格來右對齊'astring,withstuff'>>>“newlines\n\n\n”.strip()#一個實際的串也可以調(diào)用方法!'newlines'>>>s.replace('stuff','characters')#替換子串(全部出現(xiàn)過的子串)'astring,withcharacters'>>>s.replace('s','X',1)#只替換一次'aXtring,withstuff'字符串的拼接與重復(fù)>>>s1="hello">>>s2="python">>>s1+s2#字符串的拼接'hellopython'>>>s1*2#字符串的重復(fù)'hellohello'>>>'o'ins1#測試字符’o’是否在字符串s1中True字符串的索引與切片字符串中每個字符有兩個“編號”,一個是正向遞增的“號”,首字符的“號”為0,另一個是反向遞減的“號”,最后一個字符的“號”為-1。用字符串[號]的方法可以訪問這個“號”所對應(yīng)的字符,稱為索引操作;用字符串[start:end:step]的方法可以訪問多個字符,稱為字符串的切片操作;start表示起點,step表示終點后一個字符的編號,step表示步長。字符串的分隔與連接字符串的分割方法:s.split(["分隔符"]),s表示待分割的字符串字符串的連接方法:"連接符".join(ls),ls為待連接的字符串列表>>>string1="apple,banana,tomato,pineapple,watermelon">>>string1.split(",")#將字符串以逗號為界進行拆分,得到一個列表['apple','banana','tomato','pineapple','watermelon']>>>lst1=['a','b','c','d']>>>','.join(lst1)#列表的元素是字符串,用‘,’連接形成一個新的字符串'a,b,c,d'字符串的分隔與連接字符串的分割方法:s.split(["分隔符"]),s表示待分割的字符串字符串的連接方法:"連接符".join(ls),ls為待連接的字符串列表>>>string1="apple,banana,tomato,pineapple,watermelon">>>string1.split(",")#將字符串以逗號為界進行拆分,得到一個列表['apple','banana','tomato','pineapple','watermelon']>>>lst1=['a','b','c','d']>>>','.join(lst1)#列表的元素是字符串,用‘,’連接形成一個新的字符串'a,b,c,d'字符串的查找與替換字符串的查找方法:s.find("s1"),查找字符串s1在字符串s中首次出現(xiàn)的位置,如果不存在,返回-1;字符串的替換方法:s.replace("舊字符串","新字符串"),將s中的舊字符串全部替換成新字符串,返回另一個字符串,原字符串s并沒有發(fā)生變化。字符串的查找與替換>>>s4="thisisatable">>>s4.find("i")#從字符串左邊開始查找字符“i”在s4中首次出現(xiàn)的位置2>>>s4.find("d")#若在字符串中查不到字母”d”,返回-1-1>>>s4.replace("is","haha")#用新字符串“haha”替換s4中的舊字符串“is”'thhahahahaatable'>>>s5="abcabcabcabc">>>s5.replace("abc","efg")#字符串s5中所有的"abc"全部替換成"efg"'efgefgefgefg'#結(jié)果得到另一個字符串字符串的format方法<模板字符串>.format()方法作為文本處理工具,提供強大而豐富的字符串格式化功能。<模板字符串>中包含普通字符串和模板字符串,普通字符串原樣不變,format函數(shù)中的參數(shù)按照模板字符串中指定的順序、指定的格式進行格式化字符串的format方法>>>name1="zhangsan">>>name2="lisi">>>"一個人叫{},另一個叫{}".format(name1,name2)#{}是給name1,name2占位'一個人叫zhangsan,另一個叫l(wèi)isi'>>>"一個人叫{1},另一個叫{0}".format(name1,name2)'一個人叫l(wèi)isi,另一個叫zhangsan'說明:{}里的數(shù)字是format括號里面參數(shù)的序號,第一個參數(shù)的序號為0。字符串的format方法>>>x=100.230>>>'x={}'.format(x)#發(fā)現(xiàn)小數(shù)點后面最后的0沒了'x=100.23'>>>'x={:.3f}'.format(x)#{:.3f}表示把x按照小數(shù)點后面保留三位的格式進行格式化'x=100.230'>>>s="hello">>>'{:>10}'.format(s)#把s格式化為10個字符的寬度,右對齊'hello'>>>'{:*^10}'.format(s)#把s格式化為10個字符的寬度,居中對齊,不夠的用*填充'**hello***'字符串格式化當(dāng)有多個項需要格式化的時候,要用元組(Tuples)作為操作符元組的長度必須匹配格式化項數(shù)不能用列表類型List!>>>c='Python'>>>n=200>>>"Thisisa%scoursewith%istudents."%(c,n)'ThisisaPythoncoursewith200students.'>>>w="Number%iwon!"%12#字符串格式化操作符%>>>w'Number12won!'字符串格式化操作符'%'通常是生成新串的最佳方式類似于C語言的格式化:需要一些技巧,但功能強大多個字符串格式化代碼%s:string(usesfunction'str')%r:string(usesfunction'repr')%f,%e,%g:float字符串格式化格式含義'd'帶符號的十進制整數(shù).'i'帶符號的十進制整數(shù).'o'帶符號的八進制值.'u'過時的類型,等于'd'.'x'帶符號的十六進制(小寫).'X'帶符號的十六進制(大寫).'e'浮點數(shù)指數(shù)格式(小寫).'E'浮點數(shù)指數(shù)格式(大寫).'f'浮點數(shù)十進制格式.'F'浮點數(shù)十進制格式.'g'浮點數(shù)格式.如果指數(shù)小于-4就使用小寫指數(shù)格式,否則使用十進制格式.'G'浮點數(shù)格式.如果指數(shù)小于-4就使用大寫指數(shù)格式,否則使用十進制格式.'c'單個字符(接受整數(shù)獲這個單個正常字符).'r'字符串(使用函數(shù)repr()轉(zhuǎn)為任何python對象).'s'字符串(使用函數(shù)str()轉(zhuǎn)為任何python對象).'%'轉(zhuǎn)為%自己.列表list列表是一個存儲容器,當(dāng)需要增加元素的時候可以自動增長,刪除元素的時候可以自動收縮。列表是可變序列,是Python中使用頻率最高、最通用的數(shù)據(jù)類型。列表中可以包含任意數(shù)據(jù)類型的數(shù)據(jù),同樣可以索引、切片、拼接和重復(fù)等操作列表List有序的對象序列;排列異質(zhì)的;可以包含任意類型的對象的混合>>>r=[1,2.0,3,5]#列表實例,不同的值>>>r[1,2.0,3,5]>>>type(r)<class'list'>>>>r[1]#通過下標(biāo)來訪問;偏移量為02.0>>>r[-1]#負的下標(biāo)代表從尾部開始計數(shù)5>>>r[1:3]#列表的片段;給出新的列表[2.0,3]>>>w=r+[10,19]#合并列表;給出另外的一個列表>>>w[1,2.0,3,5,10,19]>>>r#原列表不變;w和r不同[1,2.0,3,5]>>>t=[0.0]*10#用重復(fù)生成一個初始向量>>>t[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]列表的相關(guān)運算>>>lst1=[1,2,3,4,5,6,7]#創(chuàng)建列表lst1>>>lst1[0]#索引1>>>lst1[-1]#索引7>>>lst1[:]#切片[1,2,3,4,5,6,7]>>>lst1[::-1][7,6,5,4,3,2,1]>>>lst2=['a','b','c']>>>lst1+lst2#列表的拼接[1,2,3,4,5,6,7,'a','b','c']>>>lst2*3#列表的重復(fù)['a','b','c','a','b','c','a','b','c']>>>'a'inlst2#判斷列表lst2中是否存在’a’列表List操作列表是可變的,可以改變局部列表是動態(tài)的,大小可變>>>r=[1,2.0,3,5]>>>r[3]='word'#通過下標(biāo)訪問改變一個元素(項)>>>r[1,2.0,3,'word']>>>r[0]=[9,8]#表可以嵌套>>>r[[9,8],2.0,3,'word']>>>r[0:3]=[1,2,5,6]#改變列表的一個片段,可以改變列表的長度>>>r[1,2,5,6,'word']>>>r[1:3]=[]#通過設(shè)置列表的片段為空集來移除元素>>>r[1,6,'word']>>>len(r)#列表的長度;項的個數(shù)3>>>6inr#成員屬性測試True>>>r.index(6)#搜索并給出位置,如果沒有的話……1列表的方法列表有一組內(nèi)建的方法有些方法會從內(nèi)部改變列表>>>r=[1,2.0,3,5]>>>r.append('thing')#在列表尾增加一個項>>>r[1,2.0,3,5,'thing']>>>r.append(['another','list'])#列表被看作一個單一項>>>r[1,2.0,3,5,'thing',['another','list']]>>>r=[1,2.0,3,5]>>>r.extend(['item','another'])#列表的項逐次添加>>>r[1,2.0,3,5,'item','another']>>>k=r.pop()#移除最后一項>>>k'another'>>>r[1,2.0,3,5,'item']方法'append'和'pop'可用于實現(xiàn)棧列表的方法使用內(nèi)建的'sort'方法:高效排序是內(nèi)部進行的,不產(chǎn)生新表!>>>r=[2,5,-1,0,20]>>>r.sort()>>>r[-1,0,2,5,20]>>>w=['apa','1','2','1234']>>>w.sort()#字符串:使用ASCII順序>>>w['1','1234','2','apa']>>>w.reverse()#反轉(zhuǎn)字符串!>>>w['apa','2','1234','1']>>>v=w[:]#首先生成新表>>>v.reverse()#反轉(zhuǎn)這份拷貝>>>v#使用sort['1','1234','2','apa']>>>w['apa','2','1234','1']轉(zhuǎn)字符串為列表'split'對于簡單的分解分析很有用否則要用正則表達式模塊're';>>>s='biovitrum'#生成字符串>>>w=list(s)#轉(zhuǎn)為字符的列表>>>w['b','i','o','v','i','t','r','u','m']>>>w.reverse()>>>w['m','u','r','t','i','v','o','i','b']>>>r=''.join(w)#使用空串的join方法>>>r'murtivoib'>>>d='-'.join(w)#使用字符-的join方法>>>d'm-u-r-t-i-v-o-i-b'>>>s='afewwords'>>>w=s.split()#基于白空格切分(空格,新行)>>>w['a','few','words']>>>'|'.join(w)#對其他串用方法'join''a|few|words'元組Tuple和表list一樣,除了不可變一旦生成,就不可改變某些函數(shù)會返回元組>>>t=(1,3,2)>>>t[1]#由下標(biāo)訪問,偏移量03>>>(a,b,c)=t#元組賦值>>>a1>>>b3>>>a,b,c#一個實際上的元組表達式!(1,3,2)>>>a,b=b,a#交換值的技巧>>>a,b(3,1)>>>r=list(t)#轉(zhuǎn)換元組為表>>>r[1,3,2]>>>tuple(r)#轉(zhuǎn)為表為元組(1,3,2)字典Dictionary關(guān)鍵字/值對的無序序列每個關(guān)鍵字映射到一個值也稱為映射“mapping”,哈希表“hashtable”或查找表"lookuptable">>>h={'key':12,'nyckel':'word'}>>>h[‘key’]#由關(guān)鍵字訪問12>>>h.has_key('nyckel')#(僅用于2.x版本)True>>>h['Per']='Kraulis'#增加一個關(guān)鍵字/值>>>h{'nyckel':'word','Per':'Kraulis','key':12}#輸出順序是隨機的>>>h['Per']='Johansson'#替換值>>>h{'nyckel':'word','Per':'Johansson','key':12}關(guān)鍵字通常是一個整數(shù)或一個字符串必須是不可變對象可以是任何可hash的對象任何關(guān)鍵字在一個字典中只能出現(xiàn)一次!值可以是任何對象可以出現(xiàn)多次差點忘了:'del'使用命令'del'銷毀數(shù)據(jù)命令!不是函數(shù)!實際上移除變量(名字),不是對象>>>a='thing'#定義一個變量>>>a'thing'>>>dela#把這個變量忘掉>>>aTraceback(mostrecentcalllast):File"<pyshell#182>",line1,in-toplevel-aNameError:name'a'isnotdefined>>>h={'key':12,'nyckel':'word'}>>>delh['key']#移除關(guān)鍵字和它的值>>>h{'nyckel':'word'}>>>r=[1,3,2]>>>delr[1]#另一個刪除表項的方式>>>r[1,2]字典方法>>>h={'key':12,'nyckel':'word'}>>>'Per'inh#測試是否一個關(guān)鍵字在字典中False>>>h['Per']Traceback(mostrecentcalllast):File"<pyshell#192>",line1,in-toplevel-h['Per']KeyError:'Per'>>>len(h)#字典中的關(guān)鍵字的數(shù)量2>>>h.keys()#所有的關(guān)鍵字在無序的表中['nyckel','key']>>>h.values()#所有的值在無序的表中['word',12]>>>h.get('Per','unknown')#返回值,或者返回缺省值'unknown'>>>h.get('key','unknown')12字典方法>>>h['Per']='Johansson'>>>h{'nyckel':'word','Per':'Johansson'}>>>h.update(g)#根據(jù)g添加或者更新所有的關(guān)鍵字/值>>>h{'nyckel':'word','key':12,'Per':'Johansson'}>>>g=h.copy()#字典的一個單獨拷貝>>>delh['key']>>>h{'nyckel':'word'}>>>g{'nyckel':'word','key':12}6.4程序的流程控制結(jié)構(gòu)在IDLE中編寫腳本現(xiàn)在我們要編寫合適的腳本并保存到文件中在IDLE中:'File''NewWindow'直接點擊'Saveas…'打開目錄'Desktop'創(chuàng)建一個文件夾'Pythoncourse'進入這個文件夾輸入文件名't1.py'保存在這個叫't1.py'的窗口中輸入下述代碼:保存這個文件:Ctrl-S,或者進入菜單'File','Save'運行這個腳本:按F5,或者進入菜單'Run','RunModule'""#這是文檔字符串print("Helloworld!“)'if'語句;塊結(jié)構(gòu)Python的一個讓人又愛又恨的特性就是塊結(jié)構(gòu)塊結(jié)構(gòu)由縮進確定編輯一個新的文件't2.py'在窗口't1.py'中點擊'File','NewWindow',之后'SaveAs…應(yīng)用'if'命令:注意IDLE編輯器會自動幫助添加縮進運行腳本(F5)""person='Luke'ifperson=='Per':status='Pythonist'elifperson=='Luke':status='Jediknight'else:status='unknown'print(person,status)字典Dictionary比if…elif…更好特別地,對于那些硬編碼的選擇(elif's)…更緊湊,更高效這個模式非常有用""status_map={'Luke':'JediKnight','Per':'Pythonist'}person='Luke'print(person,status_map.get(person,'unknown'))內(nèi)嵌類型與它們的布爾解釋True-1True124True![False]False[]listTrue{'key':'val'}False{}dictTrue!"False"False""strFalse0.0floatFalse0int所有內(nèi)嵌類型可以直接在'if'命令中使用數(shù)字0對應(yīng)False其他數(shù)都對應(yīng)True空對象(str,list,dict)對應(yīng)False其它有值的對象對應(yīng)True使用函數(shù)'bool'來獲取顯示的值'for'語句對一個塊語句的重復(fù)執(zhí)行對一個序列進行迭代遍歷(list,tuple,string,iterator)""s=0foriin[0,1,2,3,4,5,6,7,8]:#遍歷列表中的值,賦給is=s+iifs>10:break#結(jié)束'for'循環(huán)print("i=%i,s=%i"%(i,s))""r=[]forcin‘thisisastringwithblanks’:#一個字符一個字符地遍歷字符串ifc=='':continue#跳過后面的代碼塊,繼續(xù)循環(huán)r.append(c)print(''.join(r))'while'語句對一個塊語句的重復(fù)不斷循環(huán)執(zhí)行,直到判斷變成false或者出現(xiàn)'break'""r=[]n=0last=20whilen<=last:#任何具有布爾值的表達式r.append(str(n))n+=3print(','.join(r))循環(huán)中可選的'else'區(qū)塊如果沒有遇到'break'則執(zhí)行'else'區(qū)塊經(jīng)常用來取代success/failure標(biāo)記對'for'與'while'循環(huán)都適用""r=[1,3,10,98,-2,48]foriinr:ifi<0:print('inputcontainsnegativevalue!')break#跳出整個循環(huán),包括'else'else:pass#什么都不做else:#如果循環(huán)是正常結(jié)束的則執(zhí)行print('inputisOK')'pass'語句什么都不做可以看做是一個對于不想寫代碼區(qū)塊的占位符在一些情況中是有用的異常處理:'try'與'except'程序運行中的錯誤經(jīng)常會導(dǎo)致執(zhí)行失敗錯誤信息能報告出錯類型使用'try','except'來捕獲并處理異常""numbers=[]not_numbers=[]forsin['12','-4.1','1.0e2','e3']:try:n=float(s)numbers.append(s)exceptValueError:not_numbers.append(s)print('numbers:',numbers)print('notnumbers:',not_numbers)numbers:['12','-4.1','1.0e2']notnumbers:['e3']函數(shù)函數(shù)參數(shù):固定參數(shù)、可變參數(shù)參數(shù)數(shù)量固定與順序相關(guān)""deffixed_args(a,c,b):#注意!:參數(shù)的順序

"Formatargumentsintoastringandreturn."#文檔字符串

return"a=%s,b=%s,c=%s"%(a,b,c)#'%s'替換成字符串print(fixed_args('stuff',1.2,[2,1]))可以有任意數(shù)量個參數(shù)當(dāng)所需參數(shù)數(shù)量未知時十分有用參數(shù)會保存在一個元組tuple中按照習(xí)慣,命名為'args''*'是用來區(qū)分的標(biāo)記""defunspec_args(a,*args):#一般約定寫成'args'return"a=%s,others=%s"%(a,args)print(unspec_args('bla','qwe',23,False))a=bla,others=('qwe',23,False)函數(shù)參數(shù):默認值參數(shù)可以有默認值當(dāng)調(diào)用時沒有給定參數(shù),會采用默認值如果既沒有默認值,調(diào)用時也沒有給出參數(shù),那么崩潰顯式調(diào)用參數(shù),改變參數(shù)順序""defdefault_args(a,b='bar',c=13):return"a=%s,b=%s,c=%s"%(a,b,c)print(default_args('apa'))#全部使用默認值print(default_args('s',b='py'))#重載一個默認值print(default_args(c=-26,a='apa'))#重載參數(shù)順序a=apa,b=bar,c=13a=s,b=py,c=13a=apa,b=bar,c=-26函數(shù)參數(shù):關(guān)鍵字關(guān)鍵字/值參數(shù)參數(shù)會被保存進字典dictionary習(xí)慣命名成'kwargs''**'是用來區(qū)分的標(biāo)記首先嘗試匹配已有的參數(shù)名稱""defkeyword_args(a,b='bla',**kwargs):return"a=%s,b=%s,kwargs=%s"%(a,b,str(kwargs))print(keyword_args('stuff',c='call'))print(keyword_args('stuff',c='call',b='apa'))print(keyword_args(c='call',d=12,a='gr'))a=stuff,b=bla,kwargs={'c':'call'}a=stuff,b=apa,kwargs={'c':'call'}a=gr,b=bla,kwargs={'c':'call','d':12}函數(shù)參數(shù):顯式變量類型檢查使用'assert'命令檢查布爾表達式是否為真,否則就是異??梢栽诖a中任一點使用用于健壯性測試可選擇性添加錯誤提示信息""deffixed_args(a,c,b):asserttype(a)==type(1),"'a'mustbeaninteger"return"a=%s,b=%s,c=%s"%(a,b,c)print(fixed_args('a',1.2,[2,1]))Traceback(mostrecentcalllast):File"C:\Pythontests\t15.py",line8,in-toplevel-printfixed_args('a',1.2,[2,1])File"C:\Pythontests\t15.py",line5,infixed_argsasserttype(a)==type(1),"'a'mustbeaninteger"AssertionError:'a'mustbeaninteger函數(shù)參數(shù):局部變量參數(shù)為局部變量不可變變量的值通過復(fù)制賦值可變變量的值依然可被改變:但是要小心

在'def'區(qū)塊內(nèi)定義的變量都是局部變量先無視return""deftest_local(a,r):print('localoriginal',a,r)a=12r[1]=999print('localchanged',a,r)a=-5r=[0,1,2]print('globaloriginal',a,r)test_local(a,r)print('globalchanged',a,r)globaloriginal-5[0,1,2]localoriginal-5[0,1,2]localchanged12[0,999,2]globalchanged-5[0,999,2]沒有'return'的函數(shù):None值一個函數(shù)不一定要有'return'命令如果沒有,則與其他編程語言中的'procedure'功能一樣實際上函數(shù)默認總是會返回一個值:'None'一個沒有值的'return'完全是可以的:returns'None''None'是一個特殊的值,意味著'什么都沒有'在很多環(huán)境下很有用尤其是在面向?qū)ο蟮木幊痰膯栴}中""defconcat_strings(a,b):str_type=type('')#保存類型的值!iftype(a)==str_typeandtype(b)==str_type:returna+''+bprint('strings:',concat_strings('first','second'))print('integers:',concat_strings(1,2))strings:firstsecondintegers:None

'math'模塊:函數(shù)與常數(shù)模塊使用一瞥數(shù)學(xué)函數(shù)在一個單獨的模塊中""frommathimport*#加載模塊'math'中的所有函數(shù)print(e,pi)print(cos(radians(180.0)))print(log(10.0))print(exp(-1.0))2.70453.1493-1.02.30460.36787944117144233函數(shù)是對象,函數(shù)名是引用函數(shù)只是另一種對象罷了函數(shù)名沒什么特別的:可以被改變""frommathimport*defprint_calc(f):print("log(%s)=%s,exp(%s)=%s"%(f,log(f),f,exp(f)))print_calc(1.0)log,exp=exp,log#不良代碼!交換對象的名稱與引用print_calc(1.0)log(1.0)=0.0,exp(1.0)=2.7045log(1.0)=2.7045,exp(1.0)=0.0一個函數(shù)可以作為任意參數(shù)傳遞給另一個函數(shù)一個函數(shù)可以被賦值給一個變量內(nèi)嵌函數(shù)‘map’、'filter'map是一個操作列表的內(nèi)嵌函數(shù)map需要一個函數(shù)與一個列表作為參數(shù)這個函數(shù)限定為只有一個參數(shù)輸入,一個返回輸出這個函數(shù)要依次作用到這個列表上的每一個元素轉(zhuǎn)換結(jié)果作為一個列表返回>>>frommathimport*>>>r=[0,1,2,3,4,5,6]>>>list(map(cos,r))[1.0,0.543977,-0.41614683654714241,-0.98999249660044542,-0.65364362086361194,0.28366218546322625,0.966597]>>>r=[0,1,2,3,4,5,6]>>>deflarge(x):returnx>3>>>print(list(filter(large,r)))[4,5,6]filter也是一個操作列表的內(nèi)嵌函數(shù)filter需要一個函數(shù)與一個列表它用這個函數(shù)來決定哪個項應(yīng)該被放入過濾結(jié)果隊列中遍歷列表中的每一個值,輸入到這個函數(shù)中如果這個函數(shù)返回True,那么值就放到過濾結(jié)果隊列中如果這個函數(shù)返回False,那么這個值就會被跳過文件操作:讀一個文件操作對象由內(nèi)嵌函數(shù)open創(chuàng)建文件對象有一系列函數(shù)read函數(shù)可以從文件中獲取數(shù)據(jù)隊列read:讀取整個文件(或者說N字節(jié)),返回一個單獨的字符串readline:讀取一行(然后跳到新的一行)readlines:讀取所有的行,返回一個字符串的列表>>>f=open('test.txt')#默認:只讀模式>>>line=f.readline()#讀一行>>>line'Thisisthefirstline.\n'>>>lines=f.readlines()#讀所有剩余行>>>lines['Thisisthesecond.\n','Andthird.\n']有些模塊定義的對象類似文件,這些對象具有的方法也讓它們表現(xiàn)得像文件一樣文件操作:寫write函數(shù)只是簡單地輸出給定的字符串字符串不一定是ASCII碼,二進制串也是可以的>>>w=open('output.txt','w')#寫模式(默認寫的是文本)>>>w.write('stuff')#并不自動添加新行>>>w.write('\n')>>>w.write('more\nandevenmore\n')>>>w.close()stuffmoreandevenmore文件操作:用'for'循環(huán)讀取迭代使用for循環(huán)一行行讀取文件推薦用法""infile=open('test.txt')#只讀模式outfile=open('test_upper.txt','w')#寫模式;創(chuàng)建文件forlineininfile:out(line.upper())in()#并不嚴格要求;系統(tǒng)會自動執(zhí)行out()注意:每行結(jié)尾會尾隨一個換行符'\n'使用字符串方法strip或者rstrip來去除它文件操作,老式的讀取策略老版本的Python不支持這種特性'forlineinfile'相應(yīng)地,過去要使用下面這種操作:forlineinin():#把整個文件按行讀進一個行的列表中do_something(line)forlineinin():#類似xrange:內(nèi)存使用更高效do_something(line)line=in()whileline:#只有當(dāng)讀到文件結(jié)束時line才是空的do_something(line)line=in()最后一個方案可行是因為'readline'返回的line自動包含一個”\n”換行符只有當(dāng)讀到文件結(jié)束時,readline才會返回一個空行,該行的布爾值'False'標(biāo)準庫模塊模塊're',part1正則表達式:正則表達式就是記錄文本規(guī)則的代碼,是高級字符串模式定義一個模式:定義模式的語法與Perl或者grep的很相似把它應(yīng)用到一個字符串上處理結(jié)果""importretext="Hi,IamShirleyHilton.Iamhiswife."m=re.findall("hi",text)ifm:print(m)else:print('notmatch')['hi','hi']把正則表達式改為“[Hh]i”,結(jié)果為:['Hi','hi','Hi','hi']把正則表達式改為“i.”,結(jié)果為:['i,','ir','il','is','if']把正則表達式改為“I.*e”,結(jié)果為:['IamShirleyHilton.Iamhiswife']把正則表達式改為“I.*?e”,結(jié)果為:['IamShirle','Iamhiswife']如果你不覺得正則表達式很難讀寫的話,要么你是一個天才,要么,你不是地球人。模塊'sys'sys.argv命令行執(zhí)行時使用的參數(shù)列表;sys.argv[0]是這個腳本的名字sys.path用來尋找模塊的目錄路徑的列表sys.platform一個用來表示當(dāng)前操作系統(tǒng)的字符串>>>importsys>>>sys.platform'win32'>>>importsys>>>sys.stdout.write('thehardway')thehardway12sys.stdout,sys.stdin,sys.stderr預(yù)定義的文件處理對象,用于輸入/輸出'print'的東西會傳給'sys.stdout'也可以設(shè)置成給其他文件sys.exit(n)強制退出Python執(zhí)行'n'是一個整數(shù)錯誤代碼,通常是0模塊'os'os.getcwd():返回當(dāng)前目錄>>>os.getcwd()'M:\\MyDocuments\\Pythoncourse\\tests'os.environ:返回包含當(dāng)前環(huán)境變量的字典Dictionary>>>fork,vinos.environ.items():print(k,v)TMPC:\DOCUME~1\se22312\LOCALS~1\TempCOMPUTERNAMEWS101778USERDOMAINBIOVITRUMCOMMONPROGRAMFILESC:\ProgramFiles\CommonFilesPROCESSOR_IDENTIFIERx86Family6Model9Stepping5,GenuineIntelPROGRAMFILESC:\ProgramFilesPROCESSOR_REVISION0905HOMEC:\emacs...os.chdir(path):把當(dāng)前路徑切換到'path'os.listdir(path):返回'path'下的文件夾目錄列表os.mkdir(path):創(chuàng)建一個目錄'path'os.rmdir(path):刪除目錄'path'os.remove(path):刪除文件'path'模塊'os'os.system(command)在子進程中執(zhí)行shell命令(字符串string)返回一個整數(shù)錯誤碼os.path.exists(path):路徑是否存在,是目錄還是文件os.path.is):路徑是一個文件嗎os.path.isdir(path):路徑是一個目錄嗎os.path.abspath(path):返回給定的相對路徑的絕對路徑>>>d=os.path.abspath('.')>>>d'M:\\MyDocuments\\Pythoncourse\\tests'os.path.dirname(path):返回給定路徑的目錄>>>

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論