Python教案教學(xué)設(shè)計(jì)_第1頁(yè)
Python教案教學(xué)設(shè)計(jì)_第2頁(yè)
Python教案教學(xué)設(shè)計(jì)_第3頁(yè)
Python教案教學(xué)設(shè)計(jì)_第4頁(yè)
Python教案教學(xué)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩174頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課題程序設(shè)計(jì)基礎(chǔ)--緒論教學(xué)目標(biāo)1.了解程序設(shè)計(jì)語(yǔ)言的發(fā)展歷史2.理解Python語(yǔ)言的特點(diǎn)及其重要性3.掌握Python語(yǔ)言Hello程序的編寫方法教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法講授演示法+上機(jī)操作1.計(jì)算機(jī)的定義:能夠根據(jù)指令操作數(shù)據(jù)的設(shè)備一功能性·計(jì)算機(jī)的可編程性需要通過(guò)程序設(shè)計(jì)來(lái)體現(xiàn)2.程序設(shè)計(jì)語(yǔ)言:計(jì)算機(jī)能夠理解和識(shí)別操作的一種交互體系●程序設(shè)計(jì)語(yǔ)言的種類●機(jī)器語(yǔ)言●匯編語(yǔ)言●高級(jí)語(yǔ)言●常用的程序設(shè)計(jì)語(yǔ)言一腳本語(yǔ)言:解釋執(zhí)行·編譯:源代碼(高級(jí)語(yǔ)言)轉(zhuǎn)換成目標(biāo)代碼(機(jī)器語(yǔ)言)機(jī)器語(yǔ)言機(jī)器語(yǔ)言目標(biāo)代碼 程序執(zhí)行高級(jí)語(yǔ)言源代碼輸出高級(jí)語(yǔ)言高級(jí)語(yǔ)言解釋器輸出·Python語(yǔ)言:將解釋器和編譯器結(jié)合的腳本語(yǔ)言·C/C++等語(yǔ)言:復(fù)雜·Python語(yǔ)言:充滿快樂(lè)和創(chuàng)造性的全新旅程3.Python語(yǔ)言概述·Python語(yǔ)言的歷史一誕生于1989年,已有25年,達(dá)到成熟期-2000年,Python2.0,2,.7.6·Python語(yǔ)言的特點(diǎn)一可以同時(shí)被解釋和編譯執(zhí)行一編程模式靈活(面向過(guò)程和面向?qū)ο?-到Python主頁(yè)下載并安裝Python基本開發(fā)和運(yùn)行環(huán)境,網(wǎng)址:/d一根據(jù)操作系統(tǒng)選擇不同版本-下載相應(yīng)的Python2.7.6版本程一方法一:?jiǎn)?dòng)Windows命令行工具,輸入python,在>>>后輸入Python語(yǔ)句,如圖所示輸入exit()或quit()退出一方法二:調(diào)用已安裝的IDLE來(lái)啟動(dòng)Python運(yùn)行環(huán)境,-方法三:按照語(yǔ)法格式編寫代碼,保存為文件,例如源文件heWindows命令行,使用命令pythonhello.py來(lái)一方法四:打開IDLE,Ctrl+N打開一個(gè)新窗F5即可運(yùn)行該程序-方法五:將Python集成到Eclipse等面向較大規(guī)模項(xiàng)目開發(fā)的集成開發(fā)環(huán)境中一其他操作系統(tǒng)上配置Python環(huán)境與上述在Windows上的配置方法類似5.Hello程序·你的第一個(gè)程序:在屏幕上打印出“HelloWorld”-print“HelloWorld”二、上機(jī)練習(xí)接著完成第一個(gè)程序“HelloWorld”三、本課小結(jié)計(jì)算機(jī)的基本概念編譯和解釋課后反思課題Python程序語(yǔ)言入門教學(xué)目標(biāo)讓學(xué)生了解什么是編程及對(duì)編程提起濃厚的學(xué)習(xí)興趣;·PythonShell、GUI和Prompt(提示符)的理解;·新建程序文本文檔、運(yùn)行程序的方法、保存時(shí)需要注意什么;·學(xué)會(huì)怎樣去查詢程序的錯(cuò)誤;教學(xué)重點(diǎn)·讓學(xué)生對(duì)編程提起濃厚的興趣;·print指令的運(yùn)用;教學(xué)難點(diǎn)·識(shí)別和修正程序的錯(cuò)誤;講授演示法+上機(jī)操作1、什么是編程?2、Python一我們和計(jì)算機(jī)溝通的語(yǔ)言的意思譯成二進(jìn)制并執(zhí)行常用、最流行的幾種程序語(yǔ)言:C、C++、C#、Java、VB、python3、Python可以用來(lái)做什么·開發(fā)游戲&軟件(游戲后臺(tái)大多數(shù)用python編寫);·制作更高級(jí)的Flash(webflashgame);·創(chuàng)建數(shù)據(jù)庫(kù);·黑客hacker(遠(yuǎn)程攻擊計(jì)算機(jī)、破解硬件or軟件);·發(fā)明變形金剛(2006年日本FANUC推出的人工智能機(jī)器人);·學(xué)習(xí)其他語(yǔ)言的基礎(chǔ)(所有程序語(yǔ)言都有共同性,學(xué)好python能夠讓你快人一步的理解其他程序語(yǔ)言);·python幾乎無(wú)所不能。當(dāng)然不是每一個(gè)學(xué)習(xí)python的人都能成功========但是學(xué)習(xí)python你將獲利以下幾點(diǎn)√讓你的思維更加敏捷!√讓你變的知識(shí)淵博!√讓你學(xué)習(xí)更多的英文!也有可能帶來(lái)一些“負(fù)面影響”×你的皮膚會(huì)變得粗糙>_<×你可能會(huì)變成一枚宅男口1、通過(guò)開始菜單;2、通過(guò)快捷方式;3、通過(guò)快捷鍵;好比三種網(wǎng)絡(luò)青年與程序交互途徑的一種。行程序)*提問(wèn):平時(shí)在使用電腦時(shí)有沒有遇見過(guò)帶有GUI的程序和text-mode、commandline?(答案:windows窗口DOS)三、來(lái)點(diǎn)指令吧!>>>print“Heyman!”回車(每輸入完一行指令都要輸入回車以跳轉(zhuǎn)到下一行)Print一打印(命令),指在屏幕上顯示文本,而不是常說(shuō)的用打印機(jī)打印在紙!!注意>>顏色<<注意!!問(wèn):IDEL里為什么會(huì)有這些奇妙的顏色呢?答:IDLE為了幫助我們更好的理解和閱讀這些內(nèi)容,會(huì)用不同的顏色來(lái)區(qū)分代碼(code)不同的部分,print的顏色就是橙色。!!注意>>錯(cuò)誤<<注意!!問(wèn):SyntaxError:invalidsyntax是個(gè)什么東西?答:直譯“語(yǔ)法錯(cuò)誤:無(wú)效的語(yǔ)法”,表示python不懂你輸入的內(nèi)容,因?yàn)閜rint被錯(cuò)誤的拼成了point。我們剛剛執(zhí)行的第一條指令:heyman,就是在和python交互,這種輸入代碼與計(jì)算機(jī)交流的過(guò)程就叫做交互。多試一條指令!8計(jì)算機(jī)非常擅長(zhǎng)算術(shù)運(yùn)算,計(jì)算機(jī)被創(chuàng)造出來(lái)的初期就是被用來(lái)數(shù)據(jù)計(jì)算。再試一條指令!幾乎所有計(jì)算機(jī)程序和語(yǔ)言中都使用*符號(hào)作為乘號(hào)。這個(gè)符號(hào)稱作“星號(hào)”或“星”======口算&計(jì)算器&python三者進(jìn)行計(jì)算器:Print98765431-9876543Python:Print4548754875157512154515421*54445148448412======口算&計(jì)算器&python三者進(jìn)行利用python你除了可以超大數(shù)的數(shù)學(xué)計(jì)算之外,你還可以做些令人意想不到的事情,例>>>print“Dog”+“bro或者計(jì)算機(jī)除了非常擅長(zhǎng)運(yùn)算外,另一件事情就是反復(fù)的做事情,重就像上面我讓計(jì)算機(jī)喊了20句whereisplane,如果你高興可以讓它喊到前提是馬航要給力還有就是不要停電……到目前為止,我們只是看到單個(gè)python指令的演示,其實(shí)程序就是多個(gè)指令的集合。a.通過(guò)PythonShell菜單欄→File→NewWindows創(chuàng)建;b.快捷鍵:Ctrl+N。*新程序窗口標(biāo)題欄顯示“Untitled”(未命名)。如何給程序取名字?2、程序1我們的第一個(gè)程序一“我愛吃香蕉”print“我愛吃香蕉!”print“我吃撐了!”3、保存/另存(命名)你的程序文檔輸入完指令后通過(guò)保存or另存為!!注意>>擴(kuò)展名<<注意!!輸入完程序名稱后一定不要忘了加上py,否則在python中將看不到程序中命令的顏色和windows不知道該用什么程序來(lái)打開這個(gè)文件。如果你想要你的程序支持中文,需要在程序的第一行加上代碼:XXX用各國(guó)文字編碼代碼來(lái)替換,各國(guó)文字編碼代碼可以查詢百度。例如,簡(jiǎn)體中文的代碼是:GBK,那么程序的第一行應(yīng)寫上:1、syntaxerror(語(yǔ)法錯(cuò)誤):指編程語(yǔ)言的拼寫和文法規(guī)則出現(xiàn)錯(cuò)誤,意味著你鍵入的某個(gè)內(nèi)容不是正確的Python代碼。例如:printwhereisplane”syntaxerror:invalidsyntax(語(yǔ)法錯(cuò)誤:無(wú)效的語(yǔ)法)there'sanerrorisyourprogram(這是一個(gè)錯(cuò)誤的程序)錯(cuò)誤原因:where前面漏了一個(gè)引號(hào)2、runtimeerror(運(yùn)行時(shí)錯(cuò)誤):只會(huì)在程序運(yùn)行時(shí)才會(huì)發(fā)生的錯(cuò)例如:程序2運(yùn)行時(shí)錯(cuò)誤一“我愛大鱷魚”print“你好!歡迎來(lái)到我的動(dòng)物園!”print“我的動(dòng)物園有好多好多的動(dòng)物,例print“鱷魚”+5你好!歡迎來(lái)到我的動(dòng)物園!我的動(dòng)物園有好多好多的動(dòng)物,例如:Traceback(mostrecentcalllast):(錯(cuò)誤的開始)發(fā)生的位置/程序文件保存的路徑)Print“鱷魚”+5(出錯(cuò)的代碼行)不一定是在這里,但是會(huì)在這附近) 為嘛print“鱷魚”*5可以,print“鱷魚”+5卻不行? 聽我說(shuō),這有點(diǎn)像將蘋果和鱷魚放在一起,在python中不能將兩個(gè)完全不同的東西放在一起,比如說(shuō)數(shù)字(int)和文本(str)?!镑{魚”+5像是在說(shuō)5個(gè)蘋果和3只鱷魚相加等于多少?結(jié)果是8,但是8個(gè)什么?完全沒有意不過(guò)幾乎所有東西都可以乘以一個(gè)數(shù)來(lái)翻倍,如果你有1只鱷魚,再乘以5,那么你就會(huì)有5只鱷魚!(克隆大亂斗!)。第一個(gè)程序“我愛吃香蕉!”沒多大實(shí)際意義,僅僅只是在屏幕我們來(lái)是一個(gè)更加有意思的程序,記得給它取上一個(gè)名字,“NumGuess”是個(gè)不錯(cuò)的名字。File→NewWindows→Save→“NumGuess.py”輸入以下代碼:print"你好,同學(xué)……我和你們班主任之間有一個(gè)秘密!?"print"這個(gè)秘密就在1-99之間的一個(gè)數(shù)字。我會(huì)給你6次機(jī)會(huì)來(lái)猜這個(gè)guess=input("來(lái)猜個(gè)數(shù)字吧!?")print"哦也!你猜中這個(gè)數(shù)字了!!那么加多寶的話,請(qǐng)出門左拐找你們蔣老師!"print"我不會(huì)給你更多機(jī)會(huì)了,同學(xué)!你現(xiàn)在得請(qǐng)我喝一瓶王老吉!"#encoding=GBK##讓你的程序支持中文#importrandom#讓python生成一個(gè)隨機(jī)數(shù)secret=random.randint(1,100)#這個(gè)數(shù)在1~100之間,并將這個(gè)數(shù)賦予給seczeprint“這個(gè)秘密就在1-99之間的一個(gè)數(shù)字。我會(huì)給你6次機(jī)會(huì)來(lái)猜這個(gè)數(shù)字,猜對(duì)你就可以獲贈(zèng)加多寶一罐!”print"太低了,太低了喔!~"prin!你猜中這個(gè)數(shù)字了!!那么加多寶的話,請(qǐng)出門左拐找你們蔣老師!"print"我不會(huì)給你更多機(jī)會(huì)了,同學(xué)!你現(xiàn)在得請(qǐng)我喝一瓶print"這個(gè)秘密數(shù)字就是——",secret#打印出python本次陳勝的隨機(jī)數(shù)while、if、else、elif和input指令我們?cè)谝院髸?huì)詳細(xì)的學(xué)程序概念點(diǎn):·了解了交互模式;·交給Python一些指令來(lái)執(zhí)行;·看到了Python知道如何完成算術(shù)運(yùn)算(包括非常大的數(shù));·啟動(dòng)IDLE文本編輯器鍵入你的第一個(gè)程序:我愛吃香蕉;·運(yùn)行你的第一個(gè)Python程序;·了解如何查看錯(cuò)誤消息;課堂練習(xí)之用腦想一想:1.如何啟動(dòng)IDLE?2.print的作用是什么?3.Python中表示乘法和除法的符號(hào)是什么?4.GUI的特性包括哪些?5.如果想要你的程序支持中文,需要做什么?課堂練習(xí)之動(dòng)手做一做:1.在交互模式中,使用Python計(jì)算一周有多果應(yīng)該是下面這樣)我1988年08月20日出生。課后反思課題判斷循環(huán)教學(xué)目標(biāo)掌握if語(yǔ)句:?jiǎn)畏种А㈦p分支、多分支、嵌套完成條件語(yǔ)句實(shí)例:登錄認(rèn)證模塊學(xué)會(huì)判斷輸入是否合法了解三元表達(dá)式掌握range()掌握循環(huán)語(yǔ)句掌握f(shuō)or語(yǔ)句掌握while掌握break、continue、pass完成循環(huán)語(yǔ)句實(shí)例:登錄認(rèn)證模塊擴(kuò)展教學(xué)重點(diǎn)掌握if語(yǔ)句:?jiǎn)畏种?、雙分支、多分支、嵌套了解三元表達(dá)式掌握range()掌握循環(huán)語(yǔ)句掌握f(shuō)or語(yǔ)句掌握while掌握break、continue、pass教學(xué)難點(diǎn)完成條件語(yǔ)句實(shí)例:登錄認(rèn)證模塊完成循環(huán)語(yǔ)句實(shí)例:登錄認(rèn)證模塊擴(kuò)展講授演示法+上機(jī)操作一、新課講授1.掌握if語(yǔ)句if表達(dá)式:代碼塊1if表達(dá)式1:代碼塊1elif表達(dá)式2:代碼塊2elif表達(dá)式2:代碼塊_其他2.了解三元表達(dá)式Expressionlifboolean_expressionelseExpression2如:max=AifA>BelseB02.max=(aifa>bel3.掌握range()range(m,n,k):產(chǎn)生從m開始,到n,增量為k的數(shù)字序列,不包括n。4.掌握循環(huán)語(yǔ)句a)掌握f(shuō)or語(yǔ)句"\nelse子句在整個(gè)循環(huán)執(zhí)行條件不符合時(shí)執(zhí)行(這種用法現(xiàn)在一般用得比較少了)?!啊癨n看例子:#這兩段循環(huán)功能完全相同C:\Python27\python.exeC:/Users/Administrator.USER-201Python中的for和while循環(huán)都可以加else子句,else子句在整個(gè)循環(huán)執(zhí)行條件不符合時(shí)執(zhí)行(這種用法現(xiàn)在一般用得比較少了)。看例子:0123456789over0123456789b)掌握whileC:\Python27\python.exeC:/Users/Administrato1.1語(yǔ)法結(jié)構(gòu):1.2解釋:如果booleanexpression的結(jié)果為True,循環(huán)就會(huì)執(zhí)行;booleanexpression的結(jié)果為False時(shí)終止循環(huán),此時(shí)如果有else分支,則會(huì)執(zhí)行。以上結(jié)構(gòu)中,else分支為可選部分。else代碼塊:循環(huán)不滿足循才會(huì)執(zhí)行,如果循環(huán)終止是由break跳出,則else分支不會(huì)執(zhí)行。1.3例如:?□ 個(gè)個(gè)十怒也冒血34print“只有當(dāng)condition為Irne時(shí),才執(zhí)行循環(huán)。一旦condition為False,循環(huán)就終止了。例9print“如果想要在語(yǔ)句塊過(guò)程中終止循環(huán),可以用break或者continue”10print“========只有當(dāng)condition為Irue時(shí),才執(zhí)行循環(huán)。一旦condition為False,循環(huán)就終止了。例放口:如果想要在語(yǔ)句塊過(guò)程中終止循環(huán),可以用break或者continue43243210a)判斷輸入是否合法b)非法用戶提示警告信息c)合法用戶提示登錄成功三、課堂小結(jié)登錄認(rèn)證模塊展示課后反思課題python序列-字符串教學(xué)目標(biāo)了解序列類型常用操作了解索引和切片掌握類型轉(zhuǎn)化掌握強(qiáng)制類型轉(zhuǎn)化學(xué)會(huì)字符串轉(zhuǎn)換實(shí)例:格式化輸出菜單列表,將用戶的輸入數(shù)值轉(zhuǎn)化整型并掌握字符串常用方法s.isalnum()/s.isalpha()/s.教學(xué)重點(diǎn)了解序列類型常用操作了解索引和切片掌握類型轉(zhuǎn)化掌握強(qiáng)制類型轉(zhuǎn)化教學(xué)難點(diǎn)學(xué)會(huì)字符串轉(zhuǎn)換實(shí)例主要教法一、新課講授1.1.1索引:例:s[0]從左向右:索引從0開始;從右向左:索引從-1開始1.1.2切片:例:s[0:2]1.1.3擴(kuò)展切片:指定步長(zhǎng),例:s[0:9:2]print“字符串%format1%format2…”%(變量或值1,變量或值2...)符號(hào)及其對(duì)應(yīng)輸出格式:%d或%i十進(jìn)制整數(shù)或長(zhǎng)整數(shù)%s字符串例如:注意:只能將由數(shù)字組成的字符串轉(zhuǎn)換為整型C:\Python27\python.exeC:tC:\Python27\pythonexeC:/Users/Administrator.USER-201File"C:/Users/Adninistrator.USER-20150312MB/Pycharnfloat():強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型例如52.掌握字符串常用方法s.find(t):查找子串t,找到返回最小的索引值,找不到則返回-1s.join(iter)使用s作為連接符連接序列iter中所有元素如:list2=["h","e","1","1"“”.join(list2)s.replace(old,new):替換s.split(sep):使用sep作為分割符,列表返回結(jié)果。如:str=””str.split(".")得到[s.strip(t):刪掉開頭和結(jié)尾的字符ts.index(t):子串t首次出現(xiàn)的位置,找不到報(bào)錯(cuò)s.startswith/s.endswith(t)以子串t開頭/結(jié)尾:結(jié)果是true或falses.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower():判斷所有字符是否為數(shù)字或字母/是否為字母/是否為數(shù)字結(jié)果是bools.upper()/s.lower()/s.swapcase:所有字母轉(zhuǎn)化為大寫字母/小寫字母,大小寫互換 print“重新開始”C:\Python27\python.exeCs.count(t)統(tǒng)計(jì)t出現(xiàn)的次數(shù)printa.count"printa.count"二、上機(jī)練習(xí)_author_='Adinistrator'choice=raw_input(“請(qǐng)選擇您要購(gòu)買的物品”) C:\Python27python.exeC:/Users/Administrator. --物品清單--------------請(qǐng)選擇您要購(gòu)買的物品1學(xué)生展示:字符串轉(zhuǎn)換實(shí)例課后反思課題教學(xué)目標(biāo)掌握列表基礎(chǔ)知識(shí)掌握列表相關(guān)方法掌握序列類型操作掌握生成器掌握元組類型掌握元組相關(guān)方法教學(xué)重點(diǎn)掌握列表相關(guān)方法掌握序列類型操作掌握生成器掌握元組類型教學(xué)難點(diǎn)掌握列表相關(guān)方法掌握元組相關(guān)方法講授演示法+上機(jī)操作一、新課講授1.掌握列表基礎(chǔ)知識(shí)1.1列表的特點(diǎn):支持異構(gòu):一個(gè)列表中含不同類型的對(duì)象支持嵌套:即列表中的元素可以是列表可變:支持通過(guò)索引,切片,進(jìn)行修改1.2如何定義列表:方法一:[];例:list1=[1,3,5]方法二:使用內(nèi)置函數(shù)list():內(nèi)建函數(shù)list(a_sequence)可以將一個(gè)序列轉(zhuǎn)為列表例1:例2:(后面講)2.掌握列表相關(guān)方法:2.1append():向列表中追加元素例如:print"---------"2.2extend():追加可迭代對(duì)象中所有元素例1:list2=[1,2,3]C:\Python27\python.ereC:/Users/2.3insert():在指定索引位置插入列表也支持索引,例如:print“-------素引[-1-----print------索引[1:-2]------"print“-------素引[1:3]結(jié)果不包含最后-C:\Python27\python.exeC:/Users/Administrator.U------索引[o]-------------索引[1:-2~------------索引[1:3]結(jié)果不包含最后------插入例子:C:\Python27\python.exeC:/Users/Adninistrator.USER-20150312MB/Pyehar'tony,'jerry,'dave','【'bob','tony,'bob,'jerr2.4pop():按照索引彈出元素,返回值為該元素。默認(rèn)彈出最后一個(gè)元素。例如: 默認(rèn)彈出(刪除)最后一個(gè)元素----" 默認(rèn)彈出(刪除)指定索引位置元素['bob’,'tony’,'bob’,'jerr---------默認(rèn)彈出(刪除)最后一個(gè)元素-------------------默認(rèn)彈出(刪除)指定索引位置元素---------2.5remove():按照元素值彈出第一個(gè)匹配項(xiàng)例如:students='bob’,'tony','bob','jerry',teache['tony’,'bob','jerry’]students=['bob,'tony','bob','jerry','dave','alan',']27index():某個(gè)值第一次出現(xiàn)的位置]students=【'bob','tony','bob8例如:students=['bob,'tony','bob’,'jerry','dave','a['bob’,'tony’,'bob’,'jerr【'teacher’,'carl','ben’,'astudents=['bob’,'tony,'bob’,'jerry','dave','alan','bexn’,'carl','teacher']C:\Python27\python.exeC:/Users/Administrator.USER-20150312MB/PycharmPr['alan’,'ben’,'bob','bob','carl','dave,'jer3.1+連接*重復(fù)Python表達(dá)式結(jié)果3.2max():求最大值、min():求最小值0↓3列表生成式,是Python內(nèi)置的一種極其強(qiáng)大的生成list的表達(dá)式。4.2語(yǔ)法結(jié)構(gòu):列表生成式的書寫格式:[x*xforxinrange(1,11)]第二:后面跟上for循環(huán)for循環(huán)后面還可以加上if判斷4.3舉例:1到10之間的偶數(shù)平方再除以2作為新列表元素1到10之間的偶數(shù),作為新列表元素C:\Python27\python.exeC:/User4.4特點(diǎn):一次性生成新列表,如果列表數(shù)據(jù)過(guò)大,會(huì)消耗大量資源。1.掌握元組類型1.1定義元組:方法一:()例:tuple1=(1,3,4)方法二:使用內(nèi)置函數(shù)tuple():將可迭代對(duì)象中所有元素作為元組元素1.2元組的特點(diǎn)支持異構(gòu);支持嵌套;1不可變:不支持通過(guò)索引、切片,進(jìn)行修改2.元組的遍歷例如:print"-------------"C:\Python27\python.e0121233.掌握元組相關(guān)方法index():返回指定元素第一次出現(xiàn)的索引位置count():指定元素出現(xiàn)的次數(shù)例如:2二、上機(jī)練習(xí)#1,刪除重復(fù)元素(重復(fù)元素大于2個(gè))#2,找到重復(fù)元素的下標(biāo)索引·print‘刪除’,iprint'還剩下次數(shù):',count-j-1三、本課小結(jié)列表基礎(chǔ)知識(shí)、列表相關(guān)方法、序列類型操作、生成器、元組類型、元組相關(guān)方法學(xué)生完成實(shí)例操作課后反思課題運(yùn)維平臺(tái)計(jì)算機(jī)管理實(shí)例教學(xué)目標(biāo)登錄模塊實(shí)現(xiàn)教學(xué)重點(diǎn)登錄模塊實(shí)現(xiàn)教學(xué)難點(diǎn)主要教法講授演示法+上機(jī)操作運(yùn)維平臺(tái)計(jì)算機(jī)管理實(shí)例任務(wù)要求與注意事項(xiàng)二、上機(jī)練習(xí)學(xué)生上機(jī)實(shí)操:提示:===歡迎登錄主機(jī)管理系統(tǒng)====1.插入2.冊(cè)除3.幫助4.查詢…choice=raw_input("選擇:“)ip=raw_input("輸入主機(jī)ip")1.插入2.刪除3.幫助4.查詢1.插入2.刪除3.幫助4.查詢學(xué)生進(jìn)行展示,完成互評(píng)與老師點(diǎn)評(píng)項(xiàng)目編程技巧搭建合理穩(wěn)固小組成員分工及配合方面課后反思課題教學(xué)目標(biāo)掌握字典類型掌握字典相關(guān)方法掌握字典的遍歷掌握集合類型掌握集合相關(guān)方法教學(xué)重點(diǎn)掌握字典相關(guān)方法掌握字典的遍歷掌握集合類型教學(xué)難點(diǎn)掌握字典的遍歷掌握集合相關(guān)方法主要教法講授演示法+上機(jī)操作1.掌握字典類型a)字典的特點(diǎn)無(wú)序:通過(guò)鍵實(shí)現(xiàn)元素存取,故無(wú)序異構(gòu):支持多種數(shù)據(jù)類型嵌套:可以在鍵值對(duì)中的值部分出現(xiàn)字典b)定義字典:ii.方法一:{key1:value1,key2:value2,...}iii.方法二:dict()內(nèi)置函數(shù):指定鍵值例:d2=dict(name="jerry",age="45",gender="m")鍵與值用冒號(hào)“:”分開;項(xiàng)與項(xiàng)用逗號(hào)“,”分開;字典中的鍵必須是唯一的,而值可以不唯一2.1更新或添加元素:dict1[key]=value例如:alex':[18,'engineer'}C:\Python27\pythonexeC:/Users/Adninistrator/PycharaProjects/untitl2.2items():變量解包:即將字_author_='Adninistrator'} C:\Python27\python.exeC:/Uers/Adninistrator/PycharnProjects/untitl(Calex,[18,'engineer’,'male']),(5,_author_三'Administrator孔C:\Python27\python.exeC:/Users/Administrator/PycharmProjects/untitle'slex':[18,"enginee}C:Python27\python.exeC:/Users/Adninistratoz/PycharnProjects/un[[18,'engineer’,'male'2.5has_key():判斷是否存在某個(gè)鍵,返回結(jié)果true或false'alex':[18,'enginee1C:\Pythen27\pythenaxeC:/Uzers/AdC:Python27python.eC:/Users/Adninistrator/PycharnProjeets/untitled/字典pyfalx:[18,'snginer2,nale'1,5:'tsst,'rain:'IT,'jack:[28,'sal(alex:[18,‘engineer,'nale'2.7len():取得字典中鍵值對(duì)個(gè)數(shù)}C:\Python27\python.exeC:/Users/Administrator/PycharnProjects/untitlefalex':[18,'enginer,'nale'],5:'test','rain:'II','jack:[28,'sales4'alex':[18,'engineer'jsck':[28,'sales',12.10pop():彈出指定鍵對(duì)應(yīng)的值'alex':[18,'engineer'jack':[28,'sales',} (alex':[18,engineer’,'nale'],5:2.11popitem():隨機(jī)彈出鍵值對(duì)aler':[18,"engineerC:\Python27(python.exeC:/Users/Administrator/EycharnFrojects/untitleolex2:[18,'enginer,'male'1,5:'teat’,'rain':'IT,'jack:[23,'ealee’,'2.12clear():清除所有元素例如:}C:\Python27\python.exeC:/Users/Adninistrator/PycharmProjects/untitled{alex':[18,'engineer’,'male'],5:'test','r 3.掌握字典的遍歷:_suthor_='Adainistrster'1C:Pythen27pythenaxeC:/Usars/Adninistratar/PycharaProjets/untitled-->[Calex2,(18,'engineer,'nale'D,5.'test'),(rain,'IT),Cjack,(28.'ssles,'fens4.掌握集合類型無(wú)序、互異,4.2集合的功能及特點(diǎn)不支持索引,切片元素唯一4.3定義集合set方法一:{元素}方法二:內(nèi)置函數(shù)set()C:\Python27\python.5.集合相關(guān)方法:5.1len():元素個(gè)數(shù)例如:435.2add():添加元素例如:奶=set([1.2,3J)5.3remove():刪除元素C:\Python27\python.ex5.5pop():隨機(jī)彈出某個(gè)元素C:\Python27\python.exe"5.6集合關(guān)系操作printprintprintprintprintprintprintaprintbaabprintaC:\Python27\python.二、上機(jī)練習(xí)三、本課小結(jié)字典類型、字典相關(guān)方法、字典的遍歷、集合類型、課后反思課題教學(xué)目標(biāo)掌握如何創(chuàng)建文件對(duì)象掌握open()三種基本模式掌握open()的附加模式掌握文件對(duì)象的相關(guān)方法掌握文件對(duì)象的相關(guān)屬性教學(xué)重點(diǎn)掌握如何創(chuàng)建文件對(duì)象掌握open()三種基本模式掌握open()的附加模式教學(xué)難點(diǎn)掌握文件對(duì)象的相關(guān)方法掌握文件對(duì)象的相關(guān)屬性主要教法一、新課講授1.掌握如何創(chuàng)建文件對(duì)象a)內(nèi)置函數(shù)open()同file():用于打開文件和創(chuàng)建b)with打開文件:withopen('password')asf:#f=file('password)c)語(yǔ)法格式:open(文件名,模式)回文件回文件_init_py目password目password_bak99乘法.py 文件C:\Python27\python.exeC:/Users/Administrator.USE<openfile'password,mode'rat0x000000000253F個(gè)↓2.掌握open()三種基本模式a)r:只讀,如果文件不存在,會(huì)發(fā)生異常目password_bak件件File"C:/Users/Administrator.USER-20150312MB/PycharnProjects/untitlf=open(password1111111111111b)w:寫入(覆蓋原有內(nèi)容),如果文件不存在,會(huì)創(chuàng)建文件i.例1:password文件內(nèi)容不為空,以w模式打開:nobody:*:-2:-2:UnprivilegedUser:/var/empty:/usr/bin/falseroot:*;0:0:SystemAdministrator:/var/root:/bin/sh_uucp:*:4:4:UnixtoUnixCopyProtocol:/var/spool/uucp:/usr/sbi_taskgated:*:13:13:TaskGateDaemon:/var/empty:/usr/bin/falsef.write("hahah,I'shackef=open(password,'r')件C:\Python27\python.exeC:hahah,I′mhackerii.創(chuàng)建passwd文件回文件_init_py目password回password_bak2s10code(代碼、筆記二二二二↓c)a:附加(從文件尾部追加),如果文件不存在,會(huì)創(chuàng)建文件例如:printf.read(100)3.掌握open()的附加模式a)+:表示同時(shí)支持讀寫aac)w+可讀寫,與a+的區(qū)別是要清空文件內(nèi)容d)r+可讀寫,與a+的區(qū)別是可以寫到文件任何位置4.掌握文件對(duì)象的相關(guān)方法readline():返回一行readlines():列表類型返回所有行內(nèi)容read():指定從文件讀取多少字節(jié),不指定字節(jié)數(shù)則讀取全部?jī)?nèi)容tell():當(dāng)前指針在文件中的位置(多少個(gè)字節(jié)的位置)seek():定義文件指針的偏移量f.seek(偏移量,選項(xiàng))write():將字符串寫入文件writelines():將字符序列寫入flush():刷新,將數(shù)據(jù)從緩存區(qū)寫入文件close():關(guān)閉文件print“=====old========”5例2:5._author_=’Adainistrator'件掌握文件對(duì)象的相關(guān)屬性mode:文件打開模式closed:顯示文件是否已關(guān)閉掉□□o2個(gè)LC:\Python27\pythonexeC:/Users/Adninistratoz二、上機(jī)練習(xí)學(xué)生上機(jī)完成創(chuàng)建文件對(duì)象、open()三種基本模式、open()的附加模式、文件對(duì)象的相關(guān)上機(jī)練習(xí),熟練完成Python創(chuàng)建文件對(duì)象的方法。三、本課小結(jié)如何創(chuàng)建文件對(duì)象、open()三種基本模式、open()的附加模式、課后反思課題函數(shù)式編程一教學(xué)目標(biāo)掌握什么是函數(shù)掌握函數(shù)的定義掌握函數(shù)的調(diào)用掌握函數(shù)形參和實(shí)參的區(qū)別教學(xué)重點(diǎn)掌握函數(shù)的調(diào)用掌握函數(shù)形參和實(shí)參的區(qū)別教學(xué)難點(diǎn)了解函數(shù)的作用域:什么是作用域、作用域分類掌握函數(shù)的參數(shù):默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)講授演示法+上機(jī)操作一、新課講授1.掌握什么是函數(shù)function功能def函數(shù)是python為了代碼重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu)。函數(shù)將相關(guān)功能打包并參數(shù)化,將復(fù)雜的系統(tǒng)分解成可管理的部2.掌握函數(shù)的定義例1:defdefprintHello():defprintNum():58printprintHello()printprintNum()例2:print"helloworld!"defsayHi2(name):812349567C:\Python27\python.exeC:/Users/Admhello,Bob,howareyou例3:3.掌握函數(shù)的調(diào)用函數(shù)調(diào)用的方法:函數(shù)名(實(shí)際參數(shù))File"E:Python\Test\test.py4.掌握函數(shù)形參和實(shí)參的區(qū)別5.了解函數(shù)的作用域5.1什么是作用域變量的作用域:即變量能夠使用的范圍5.2作用域分類5.2.1本地作用域:定義在函數(shù)體內(nèi)的變量(局部變量)5.2.2全局作用域:定義在主程序的變量(全局變量)員工信息表查詢作業(yè)test6.掌握函數(shù)的參數(shù)6.1默認(rèn)參數(shù):定義函數(shù)時(shí),“name=value”的形式設(shè)置參數(shù)默認(rèn)值_author_='Adninistratodefusers(usernane,group='Hokia'):printusers(Bob')printusers(Rachel',"ChinaMoible"C:\Python27\python.exeC:/Users/姓名:%s年齡:%s性別:%s數(shù)放后邊6.2關(guān)鍵字參數(shù):調(diào)用函數(shù)時(shí),使用“name=value”的形式通過(guò)參數(shù)名指定方在于它能夠給函數(shù)參數(shù)提供默認(rèn)值,C:\Python27\python.exeC:/Users/Administrator參數(shù)指定了默認(rèn)值后,如果傳參時(shí)不指定參數(shù)名,則會(huì)從左到右依次進(jìn)行傳參,關(guān)鍵參數(shù)要放在普通參數(shù)后面。6.3.1例1:*args,我們要定義一個(gè)函數(shù)的時(shí)候,必須要預(yù)先定義這個(gè)函數(shù)需要多少個(gè)參數(shù) (或者說(shuō)可以接受多少個(gè)參數(shù))。一般情況下這是沒問(wèn)題的,但是也有在定義函數(shù)的時(shí)候,不能知道參數(shù)個(gè)數(shù)的情況在Python里,帶*的參數(shù)就是用來(lái)接受可變數(shù)量參數(shù)的,這里接收的是元組數(shù)據(jù)sayhi(Alex’,22,'IT','us','F,'Beijing6.3.2例2:**kwargs,字典作為參數(shù):定義函數(shù)時(shí)使用**開頭的參數(shù),調(diào)用時(shí)使用數(shù)參數(shù)kwargsC:\Python27\pythonexeC:/Users/Adninistrator/P二、上機(jī)練習(xí)三、本課小結(jié)函數(shù)的定義函數(shù)的調(diào)用函數(shù)形參和實(shí)參的區(qū)別函數(shù)的作用域:什么是作用域、作用域分類函數(shù)的參數(shù):默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)課后反思課題函數(shù)式編程二教學(xué)目標(biāo)掌握l(shuí)ambda表達(dá)式enumerate函數(shù)序列化yield函數(shù)(迭代)教學(xué)重點(diǎn)教學(xué)難點(diǎn)掌握l(shuí)ambda表達(dá)式enumerate函數(shù)序列化yield函數(shù)(迭代)主要教法1.遞歸函數(shù):在函數(shù)內(nèi)部,可以調(diào)用其他函數(shù)。如果一個(gè)函數(shù)在內(nèi)部調(diào)用自身本身,這個(gè)函數(shù)就是遞歸函數(shù);2.掌握l(shuí)ambda表達(dá)式2.1lambda函數(shù)也叫匿名函數(shù),即,函數(shù)沒有具體的名稱,而用def創(chuàng)建的方法是有名稱的lambda語(yǔ)句中,冒號(hào)前是參數(shù),可以有多個(gè),用逗號(hào)隔開,冒號(hào)右lambda語(yǔ)句構(gòu)建的其實(shí)是一個(gè)函數(shù)對(duì)象2.3舉例:Map()第一個(gè)參數(shù)接收一個(gè)函數(shù)名,第二個(gè)參數(shù)接收一個(gè)可迭#打印結(jié)果['1','2','3']Lambda和map共同使用4.yield函數(shù):yield的作用就是把一個(gè)函數(shù)變成一個(gè)generator,帶有yield的函數(shù)不再是一個(gè)普通函數(shù),Python解釋器會(huì)將其視為一個(gè)generator例如:個(gè)↓C:\Python27\python.exe"℃:/Users/AdministratorFile"C:/Users/Administrator.USER-20150312MB/P器5.1裝飾器就是為已經(jīng)存在的對(duì)象添加額外的功能。個(gè)例如2:defdeflogin(fune):defwrapper():passd=raw_input(inputpasifpasswd=='bwie';print'---wrongpasswdC:\Python27\python.exeC:/Users/Administrator.USER-20inputpasswd:bwie其中@語(yǔ)法糖:相當(dāng)于run=login(run)二、上機(jī)練習(xí)三、本課小結(jié)yield函數(shù)(迭代)課后反思課題常用模塊一教學(xué)目標(biāo)教學(xué)重點(diǎn)了解模塊和文件教學(xué)難點(diǎn)掌握導(dǎo)入模塊講授演示法+上機(jī)操作一、新課講授1.了解什么是模塊模塊是一個(gè)包含定義的變量,函數(shù)和類的文件,其后綴名是.p序?qū)耄允褂迷撃K中的變量,函數(shù)和類。2.了解模塊和文件 name=="main":后的語(yǔ)句。2.1.2如果作為模塊導(dǎo)入其他文件,_na name=="main":后的語(yǔ)句,在導(dǎo)入進(jìn)的文件中調(diào)3.掌握導(dǎo)入模塊1.1模塊搜索路徑:例如:1.2import語(yǔ)句導(dǎo)入模塊importmodule導(dǎo)入模塊importmoduleasmodule_alias以別名導(dǎo)入模塊1.3from語(yǔ)句導(dǎo)入模塊frommodulesimportnames導(dǎo)入模塊的指定屬性或方法4.掌握os模塊常用方法(實(shí)現(xiàn)跨平臺(tái)的操作系統(tǒng)應(yīng)用接口)4.2調(diào)用系統(tǒng)命令的方法4.2.1os.system():調(diào)用操作系統(tǒng)的命令;例如回EEm的Ping統(tǒng)計(jì)信息:數(shù)據(jù)包:已發(fā)送=4,已接收=4,丟失=0(0%丟失),最短=Oms,最長(zhǎng)=0ms,平均=Oms4.2.2os.popen()調(diào)用系統(tǒng)命令,但結(jié)果是返回對(duì)象socket編程詳細(xì)介紹_author_='Adninistrator'個(gè)↓三<openfile'cmd,mode'r'at版權(quán)所有(c)2009MicrosoftCorporatC:\Users\Administrator\PycharmProjects\u個(gè)↓C:\Users\Administrator\PycharmProjects\u4.3.2chdir():切換目錄;例如:os模塊4.3.3os.walk():遍歷目錄樹walk(top,topdown=True,onerror=None) os模塊4.3.4listdir():列出指定目錄下文件及子目錄;如:?口alexcode(代碼、?口day2?曲ExternalLibraries顯X個(gè)個(gè)↓三血alezcode(代碼、筆記)05模塊.pysocket編程詳細(xì)介紹□alexcode(代碼、回day1口day2口作業(yè)_author_='Administrator'bdkv_install.1ogbdm_install.1og?□alexcode(代碼.socket編程詳細(xì)介口作業(yè)×C:\Users\Administrator\PycharmProjects\alexcode(代碼、筆記)socket編程詳細(xì)介紹4.3.6makedirs():創(chuàng)建多層級(jí)目錄;如:?□alexcode(代碼.socket編程詳細(xì)口作業(yè)path_list=0s.listdir(C:1UseC:\Users\Adninistrator\PycharnProjects\alexcode(代碼、筆記〉soekzet編程詳細(xì)介紹x4.3.8removedirs():刪除多層級(jí)空目錄;例如:4.4路徑相關(guān)的方法:C:\Users\Administrator\PycharmProjects\u4.4.2os.path.abspath(name):獲得絕對(duì)路徑;如:_author_='Administrator'4.4.4os.path.join(path,name):連接目錄與文件名或目錄,例如:4.4.5os.path.basename(path):返回文件名;例如:4.4.6os.path.dirname(path):返回文件路徑,例如:printos.pathbasenane(e:LlPythonla.txt')4.5文件相關(guān)的方法:4.5.1remove():刪除文件,如:4.5.2rename():重命名文件,如4.6查詢相關(guān)方法4.6.1os.path.exists()函數(shù)用來(lái)檢驗(yàn)給出的路徑是否真地存在,如:>>>08.path.exists('C:\\Python24.6.2os.path.isfile()和os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄。例如:4.6.3islink():是否為鏈接文件))4.7文件信息相關(guān)方法:4.7.1stat():查看文件狀態(tài)信息C:\Python27\python.exeC:/Users/Adninistratnt.stat_result(st_mode=33206,st_ino=0L,st0000004.7.2getatime():訪問(wèn)時(shí)間4.7.3getctime():狀態(tài)改變時(shí)間(例如權(quán)限等)4.7.4getmtime():修改時(shí)間二、上機(jī)練習(xí)學(xué)生上機(jī)完成本節(jié)模塊與文件的上機(jī)編程任務(wù),教三、本課小結(jié)課后課題常用模塊二教學(xué)目標(biāo)掌握Random模塊掌握MD5加密模塊掌握Time模塊掌握Sys模塊教學(xué)重點(diǎn)掌握Random模塊教學(xué)難點(diǎn)掌握MD5加密模塊主要教法講授演示法+上機(jī)操作1.random模塊圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n:a<=n<=bprintrandom.randint(12,20)#生成的隨機(jī)數(shù)n:12<=n<=20printrandom.randint(20,20)#結(jié)果永遠(yuǎn)是20#printrandom.randint(20,10)#該語(yǔ)句是錯(cuò)誤的。下限必須小于上限。2)Random.randrange([star從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù)。如:random.randrange(10,100,2),結(jié)果相當(dāng)于從[10,12,14,16,...96,98]序列中獲取一個(gè)隨機(jī)數(shù)suiji=random.rand 2.Md5加密模塊3hash.update('a563.Time模塊123#3、元組包含了:年、日、星期等…time,stru4#4、格式化的字符串2014-11-1111:11567printtime.mktime(ti89printtime.gmtime()#可加printtime.1ocaltime()#可printtime,strptime('2014-11-printtime.strftime('%Y-%m-%d')#printtime.strftime('%Y-%m-%d',time.localtime())#默認(rèn)當(dāng)前時(shí)間printtime.asctime(ti·datetime.date:表示日期的類。常用的屬性有yeardatetime.time:表示時(shí)間的類。常用的屬性有hour,minute,second,mdatetime,datetime:表示日期時(shí)間datetime,timedelta:表示時(shí)間間隔,即timedelta([days[,seconds[,microseconds[,milliseconds[,minutes[,hours[,we…30printdatetime.datetime.now(索引(Index)屬性(Attribute)值(Values)0tm_year(年)比如20111tm_mon(月)1-122tm_mday(日)1-313tm_hour(時(shí))0-234tm_min(分)0-595tm_sec(秒)0-616tm_wday(weekday)0-6(0表示周日)12退出程序,正常退出時(shí)exit12退出程序,正常退出時(shí)exit(0)34567sys.version獲取Python解釋程序的版sys.platform返回操作系統(tǒng)平臺(tái)名稱break二、上機(jī)練習(xí)務(wù),教師巡視指導(dǎo)。三、本課小結(jié)課后反思課題教學(xué)目標(biāo)了解什么是錯(cuò)誤了解什么是異常掌握python中的常見異常掌握檢測(cè)和處理異常掌握處理異常的特殊方法:斷言、拋出異常、掌握re模塊教學(xué)重點(diǎn)掌握python中的常見異常教學(xué)難點(diǎn)掌握檢測(cè)和處理異常掌握處理異常的特殊方法:斷言、拋出異常講授演示法+上機(jī)操作一、新課講授1.了解什么是錯(cuò)誤錯(cuò)誤分為:語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤2.了解什么是異常異常:當(dāng)python檢測(cè)到錯(cuò)誤(語(yǔ)法錯(cuò)誤或者邏輯錯(cuò)誤等)時(shí),導(dǎo)致解釋器無(wú)法繼續(xù)執(zhí)行下去,這時(shí)候就出現(xiàn)了異常.異常拋出:3.掌握python中的常見異常NameError---------使用一個(gè)還未賦予對(duì)象常C:\Python27\python.NameError:name'n常IOError-----------輸入/輸出操作失敗,基本是無(wú)法打開文件常C:\Python27\python.exeC:/UseFile"C:/Users/Adminis常C:\Python27\python.exeC:/Users/AdminiFile"C:/Users/Administrator.USER-2入常C:\Python27\python.exeC:/Users/Administrator.USEFile"C:/Users/Administrator.USER-20150312MB/異常C:\Python27\python.exeC:/Users/AdFile"C:/Users/Administrator.USER-20150312MB/untit]AttributeError:'str'objecthasnoattribute'in1'語(yǔ)句語(yǔ)句常1aprint“all”異常5,掌握處理異常的特殊方法assert是斷言的關(guān)鍵字。執(zhí)行該語(yǔ)句的時(shí)候,先判斷表達(dá)式expression,如果常C:\Python27\python.exeC:/U1.了解什么是正則表達(dá)式2.了解什么是re模塊3.掌握正則表達(dá)式中的特殊字符\D匹配非數(shù)字字符\S匹配不是空白的字符功能:編譯正則表達(dá)式用法:compile(pattern,flags=0)功能:取得每個(gè)()中正則匹配的內(nèi)容(沒有(回匹配列表用法:findall(pattern,string[,flags])匹配:從字符串的開頭對(duì)模式進(jìn)行匹配,如果成功,則返回一個(gè)對(duì)象用法:match(pattern,string)搜索:search會(huì)檢查字符串任意位置與給定正則表達(dá)式的搜索情況。如果搜索到成功的匹配,會(huì)返回一個(gè)匹配對(duì)象,否則返用法:search(pattern,string)次(默認(rèn)是分割所有匹配的地方)用法:split(pattern,string,max=0)"6)sub()和subn()功能:將某字符串中匹配正則表達(dá)式模式的部分進(jìn)行替subn()和sub()一樣,但它還返回一個(gè)表示替換次數(shù)的數(shù)字;替換后的字符串和表示替換次數(shù)的數(shù)字作為一個(gè)元組返回。用法:sub(pattern,repl,string,max=0)5.掌握匹配或搜索返回對(duì)象的常用的方法1)group()返回整個(gè)正則表達(dá)式匹配的字符串,同group(0)2)group(i)正則表達(dá)式中第i個(gè)“()”括起來(lái)部分正則表達(dá)式匹配的內(nèi)容3)groups()返回各個(gè)()括起來(lái)的正則表達(dá)式匹配的字符串組成的元組4)start()返回匹配開始的位置5)end()返回匹配結(jié)束的位置6)span()返回匹配開始和結(jié)束的位置二、上機(jī)練習(xí)學(xué)生上機(jī)完成本節(jié)python中的常見異常、檢測(cè)和處理異常、處理異常的特殊方法、re三、本課小結(jié)處理異常的特殊方法:斷言、拋出異常、課后反思課題與數(shù)據(jù)庫(kù)交互教學(xué)目標(biāo)掌握數(shù)據(jù)庫(kù)連接方法掌握數(shù)據(jù)庫(kù)模塊方法學(xué)會(huì)數(shù)據(jù)庫(kù)操作:增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)掌握數(shù)據(jù)庫(kù)關(guān)閉方法教學(xué)重點(diǎn)數(shù)據(jù)庫(kù)操作:增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)教學(xué)難點(diǎn)主要教法一、新課講授1.數(shù)據(jù)庫(kù)的連接yuminstallpython-develmysql-develzlib-develb)建立連接 host:數(shù)據(jù)庫(kù)主機(jī)名默認(rèn)是用本地主機(jī)user:數(shù)據(jù)庫(kù)登陸名.默認(rèn)是當(dāng)前用戶passwd:數(shù)據(jù)庫(kù)登陸的秘密默認(rèn)為空db:要使用的數(shù)據(jù)庫(kù)名.沒有默認(rèn)值port:MySQL服務(wù)使用的TCP端口.charset:數(shù)據(jù)庫(kù)編碼commit()提交看一個(gè)簡(jiǎn)單的查詢示例如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("Iocalhost","root","36cursor.execute("SELE#使用fetchone()方法獲取一條數(shù)據(jù)庫(kù)。print"Databaseversion:%#關(guān)閉數(shù)據(jù)庫(kù)連接2.1cursor方法執(zhí)行與返回值cursor方法提供兩類操作:1.執(zhí)行命令,2.接收返回值。cursor用來(lái)執(zhí)行命令的方法//接收全部的返回結(jié)果行.//接收size條返回結(jié)果行.如果size的值大于返回的結(jié)果行的數(shù)量,則會(huì)返回cursor.arraysize條數(shù)據(jù)如果數(shù)據(jù)庫(kù)連接存在我們可以使用execute()方法來(lái)為數(shù)據(jù)庫(kù)創(chuàng)建表,如下所示創(chuàng)建表代碼如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("localhost","root","#使用cursor()方法獲取操作游標(biāo)#如果數(shù)據(jù)表已經(jīng)存在使用execute()方法刪除表。cursor.execute("DROPTABLEIFEXISTSEMPLOYEE")#創(chuàng)建數(shù)據(jù)表SQL語(yǔ)句NULL,#關(guān)閉數(shù)據(jù)庫(kù)連接_代碼如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("localhost","root","sql="""INSERTINTOEMPVALUES('Mac','Mohan',20,'M',200#提交到數(shù)據(jù)庫(kù)執(zhí)行#關(guān)閉數(shù)據(jù)庫(kù)連接這里是一個(gè)單sql執(zhí)行的示例,cursor.executemany的用法感興趣的讀者可以參看相關(guān)的aws主機(jī)資產(chǎn)管理系統(tǒng)示例。上例也可以寫成通過(guò)占位符傳參的方式進(jìn)行執(zhí)行,如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("localhost","testuser","t#使用cursor()方法獲取操作游標(biāo)LAST_NAME,AGE,SEX,IVALUES('%s',’%s',’%d',’%c','%d’#執(zhí)行sql語(yǔ)句#提交到數(shù)據(jù)庫(kù)執(zhí)行#發(fā)生錯(cuò)誤時(shí)回滾#關(guān)閉數(shù)據(jù)庫(kù)連接也可以以變量的方式傳遞參數(shù),如下:_代碼如下:password="password123.3數(shù)據(jù)庫(kù)查詢操作以查詢EMPLOYEE表中salary(工資)字段大于1000的所有數(shù)據(jù)為例:代碼如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("localhost","root","361way","t#使用cursor()方法獲取操作游標(biāo)#獲取所有記錄列表results=cursor.fetc#打印結(jié)果print"fname=%s,lname=%s,age=%d,sex=#關(guān)閉數(shù)據(jù)庫(kù)連接以上腳本執(zhí)行結(jié)果如下:fname=Mac,lname=Mohan,age=20,s3.4數(shù)據(jù)庫(kù)更新操作'M’,AGE字段遞增1:代碼如下:#打開數(shù)據(jù)庫(kù)連接db=MySQLdb.connect("localhost","root","361way","test")#執(zhí)行SQL語(yǔ)句#提交到數(shù)據(jù)庫(kù)執(zhí)行3.5刪除記錄語(yǔ)句sql="DELETEFROMEMPLOYEEWHEREAGE>'%d'"%(2#執(zhí)行SQL語(yǔ)句對(duì)于支持事務(wù)的數(shù)據(jù)庫(kù),在Python數(shù)據(jù)庫(kù)編程中,當(dāng)游標(biāo)建立之時(shí),就自動(dòng)開始了一個(gè)隱形的數(shù)據(jù)庫(kù)事務(wù)。commit()方法游標(biāo)的所有更新操作,rollback()方法回滾當(dāng)前游標(biāo)的所有操作。每一個(gè)方法都開始了一個(gè)新的事務(wù)。二、上機(jī)練習(xí)教師巡視指導(dǎo)。三、本課小結(jié)數(shù)據(jù)庫(kù)關(guān)閉課后反思課題教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)難點(diǎn)一、學(xué)習(xí)任務(wù)學(xué)習(xí)任務(wù):監(jiān)測(cè)服務(wù)器硬盤、cpu、內(nèi)存使用率任務(wù)。要求與注意事項(xiàng)二、上機(jī)練習(xí)學(xué)生上機(jī)實(shí)操:提示:支持32、64位操作系統(tǒng),還支持2.4到3.x版本的python版本1.監(jiān)控服務(wù)器硬盤使用率disk_use=psutil.e.total/1024/1024,disk_uwhileTrue:cpu_liyonglv=pmemory=psutil.virtual_memorab=float(memory.used)/float(memory.total)count=_io_coun

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論