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

下載本文檔

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

文檔簡介

了解程序設(shè)計語言的發(fā)展歷史語言的特點(diǎn)及其重要性Hello語言開發(fā)的運(yùn)行環(huán)境的配置Python語言的特點(diǎn)及其重要性教學(xué)重點(diǎn)Python語言開發(fā)的運(yùn)行環(huán)境的配置教學(xué)難點(diǎn)Python語言開發(fā)的運(yùn)行環(huán)境的配置主要教法過?計算機(jī)的可編程性需要通過程序設(shè)計來體現(xiàn)常用的程序設(shè)計語言?高級語言的執(zhí)行方法–靜態(tài)語言:編譯執(zhí)行–腳本語言:解釋執(zhí)行–目標(biāo)代碼執(zhí)行速度更快–目標(biāo)代碼在相同操作系統(tǒng)上使用靈活–解釋的好處?計算機(jī)已成為普通工具?學(xué)會編程:滿足感和安全感?C/C++等語言:復(fù)雜?Python語言:充滿快樂和創(chuàng)造性的全新旅程?3.Python語言概述?Python語言的歷史–誕生于1989年,已有25年,達(dá)到成熟期–2000年,Python2.0,2,.7.6–2008年,Python3.0,3.4.x?Python語言的特點(diǎn)–強(qiáng)制縮進(jìn)保證可讀性–不需要主函數(shù)–可以同時被解釋和編譯執(zhí)行–語言簡潔4.Python語言的開發(fā)環(huán)境配置?安裝Python運(yùn)行環(huán)境–下載相應(yīng)的Python2.7.6版本程序,跟隨提示安裝?使用Python運(yùn)行環(huán)境–方法一:啟動Windows命令行工具,輸入python,在后輸入Python語句,如圖所示輸入exit()或quit()退出–方法二:調(diào)用已安裝的IDLE來啟動Python運(yùn)行環(huán)境,–方法三:按照語法格式編寫代碼,保存為文件,例如源文件hello.py。打開Windows命令行,使用命令pythonhello.py來運(yùn)行文件?使用Python運(yùn)行環(huán)境–方法四:打開,Ctrl+N打開一個新窗口,輸入語句并保存,使用快鍵建F5即可運(yùn)行該程序–方法五:將Python集成到Eclipse等面向較大規(guī)模項(xiàng)目開發(fā)的集成開發(fā)環(huán)境中–其他操作系統(tǒng)上配置Python環(huán)境與上述在Windows上的配置方法類似5.Hello程序?你的第一個程序:在屏幕上打印出“HelloWorld”–print“HelloWorld”–表示將引號中的信息輸出到屏幕上顯示效果如下:課后反思教學(xué)重點(diǎn)·識別和修正程序的錯誤?!ぷR別和修正程序的錯誤;教學(xué)難點(diǎn)主要教法過·黑客hacker(遠(yuǎn)程攻擊計算機(jī)、破解硬件or·發(fā)明變形金剛(2006年日本FANUC·學(xué)習(xí)其他語言的基礎(chǔ)(所有程序語言都有共同性,學(xué)好python能夠讓你快人一步的但是學(xué)習(xí)python你將獲利以下幾點(diǎn)√讓你的思維更加敏捷!√讓你變的知識淵博!√讓你學(xué)習(xí)更多的英文!二、上機(jī)操作從IDLE啟動python·窗口標(biāo)題欄的文字“PythonShell”-中文意思是“python與程序交互途徑的一種?!ふ麄€窗口被叫做“GUI的特性是包含:窗口、菜單、按鈕、滾動條等。沒有這些特性的程序叫做commandline(命令行程序)*提問:平時在使用電腦時有沒有遇見過帶有GUI的程序和text-mode、commandline?>>>printHeyman!”回車(每輸入完一行指令都要輸入回車以跳轉(zhuǎn)到下一行)Print顏色<<問:IDEL里為什么會有這些奇妙的顏色呢?答:IDLE)不同的部分,print的顏色就是橙色。問:SyntaxError:invalidsyntax是個什么東西?python不懂你輸入的內(nèi)容,因?yàn)閜rint被錯誤的拼成了point。我們剛剛執(zhí)行的第一條指令:heyman,就是在和python交互,這種輸入代碼與計算機(jī)交流的過程就叫做交互。>>>幾乎所有計算機(jī)程序和語言中都使用*口算&計算器&python三者進(jìn)行對比吧======口算:Print5*3:Print4548754875157512154515421*544451484484121512157口算&計算器&python三者進(jìn)行對比吧======利用python你除了可以超大數(shù)的數(shù)學(xué)計算之外,你還可以做些令人意想不到的事情,例如:>>>printDog”+“brother”Dogbrother>>或者>>>printwhereisplane”*20whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplane>>>就像上面我讓計算機(jī)喊了20句whereisplaneMH370出現(xiàn),前提是馬航要給力還有就是不要停電……到目前為止,我們只是看到單個python指令的演示,其實(shí)程序就是多個指令的集合。1、創(chuàng)建程序的方法:1、syntax某個內(nèi)容不是正確的Python代碼。例如:>>>2runtimeerrorIDLE或python無法檢測出來的錯誤。例如:運(yùn)行時錯誤-“我愛大鱷魚”>>>我的動物園有好多好多的動物,例如:Traceback(mostrecentcall(錯誤的開始)FileC:\Users\Administrator\Destop\ilovebigcayman.py,line4,in<module>(錯誤發(fā)生的位置/程序文件保存的路徑)Print鱷魚”+(出錯的代碼行):cannotconcatenatestr’andint’objects(python認(rèn)為可能存在的問題,并不一定是在這里,但是會在這附近)=====================思考=====================為嘛print“鱷魚”*5可以,print“鱷魚”+5卻不行?=====================解惑=====================聽我說,這有點(diǎn)像將蘋果和鱷魚放在一起,在python中不能將兩個完全不同的東西intstr+5像是在說5個蘋果和3只鱷魚相加等于多少?結(jié)果是8,但是8個什么?完全沒有意義。不過幾乎所有東西都可以乘以一個數(shù)來翻倍,如果你有1只鱷魚,再乘以5,那么你就會有5NumGuess”是個不錯的名字。File→NewWindows→Save→“NumGuess.py”輸入以下代碼:======================================================#encoding=GBK#importrandomsecret=random.randint(1,100)guess=0tries=0print你好,同學(xué)……我和你們班主任之間有一個秘密?。?print這個秘密就在1-99之間的一個數(shù)字。我會給你6可以獲贈加多寶一罐!"whileguess!=secretandtries<6:print"?由程序隨機(jī)選取秘密數(shù)。?用戶輸入他猜的數(shù)。?程序根據(jù)秘密數(shù)檢查用戶猜的結(jié)果:太大還是太????用戶不斷嘗試,直到猜出這個數(shù),或者用完所有機(jī)會。?猜到的數(shù)與秘密數(shù)一致時,玩家獲勝。>>>教學(xué)過程結(jié)束。2.print的作用是什么?3.Python中表示乘法和除法的符號是什么?4.GUI的特性包括哪些?1.在交互模式中,使用Python計算一周有多少分鐘。2.3果應(yīng)該是下面這樣)課后反思課題過a)單分支b)雙分支c)多分支else:語法格式:forexpression1initerable:for_suiteelse:else_suitewhile_suiteelse_suite1.2解釋:如果boolean_expression的結(jié)果為True,循環(huán)就會執(zhí)行;boolean_expression的結(jié)果為False時終止循環(huán),此時如果有else分支,則會執(zhí)行。以上結(jié)構(gòu)中,else分支為可選部分。else代碼塊:循環(huán)不滿足循環(huán)條件終止,才會執(zhí)行,如果循環(huán)終止是由break跳出,則else分支不會執(zhí)行。1.3例如:"":三、課堂小結(jié)if語句:單分支、雙分支、多分支、嵌套、三元表達(dá)式、rangefor語句、while、、continue、pass課后反思python序列字符串教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法過:%2.掌握字符串常用方法sep作為分割符,列表返回結(jié)果。如:str=””s.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower():判斷所有字符互換a)字符串轉(zhuǎn)換實(shí)例:格式化輸出菜單列表;將用戶的輸入數(shù)值轉(zhuǎn)化整型并驗(yàn)證課后反思課題python列表和元祖教學(xué)過程1.掌握列表基礎(chǔ)知識1.1列表的特點(diǎn):支持異構(gòu):一個列表中含不同類型的對象支持嵌套:即列表中的元素可以是列表可變:支持通過索引,切片,進(jìn)行修改方法二:使用內(nèi)置函數(shù)list():內(nèi)建函數(shù)list(a_sequence)可以將一個序列轉(zhuǎn)為['d','d','d','g','f']例2:(后面講)>>>tuple1=(1,2,1)>>>list1=list(tuple1)>>>list1list3.extend(list2)例22.4例如:1.掌握元組類型例:tuple1=(1,3,4)>>>list1=[1,2,3]>>>t1=tuple(list1)>>>t1支持異構(gòu);支持嵌套;不可變:不支持通過索引、切片,進(jìn)行修改2.元組的遍歷課后反思運(yùn)維平臺計算機(jī)管理實(shí)例教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法過分值自評20303020小組成員分工及配合方面課后反思python字典和集合講授演示法上機(jī)操作過:???:5.1lens和tst課后反思python文件處理教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法講授演示法上機(jī)操作教學(xué)過程1.掌握如何創(chuàng)建文件對象例如:a)+:表示同時支持讀寫aareadlines():列表類型返回所有行內(nèi)容read():指定從文件讀取多少字節(jié),不指定字節(jié)數(shù)則讀取全部內(nèi)容,以字符串形式顯示。f.seek(偏移量,選項(xiàng))例:課后反思函數(shù)式編程一掌握什么是函數(shù)掌握函數(shù)的定義掌握函數(shù)的調(diào)用掌握函數(shù)形參和實(shí)參的區(qū)別掌握函數(shù)的參數(shù):掌握函數(shù)的調(diào)用教學(xué)重點(diǎn)掌握函數(shù)形參和實(shí)參的區(qū)別了解函數(shù)的作用域:掌握函數(shù)的參數(shù):教學(xué)難點(diǎn)主要教法?在??例2:例3:4.1變量的作用域:即變量能夠使用的范圍5.2作用域分類5.2.1本地作用域:定義在函數(shù)體內(nèi)的變量(局部變量)在x6.1默認(rèn)參數(shù):定義函數(shù)時在數(shù)放后邊,6.3.1例“”的形式,作為傳遞進(jìn)來字典的鍵值對學(xué)生上機(jī)完成函數(shù)式編程任務(wù),教師巡視指導(dǎo)。三、本課小結(jié)什么是函數(shù)函數(shù)的定義函數(shù)的調(diào)用函數(shù)形參和實(shí)參的區(qū)別函數(shù)的作用域:什么是作用域、作用域分類函數(shù)的參數(shù):默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)課后反思掌握lambda表達(dá)式enumerate函數(shù)序列化yield函數(shù)(迭代)裝飾器掌握lambda表達(dá)式enumerate函數(shù)序列化yield函數(shù)(迭代)講授演示法上機(jī)操作過1.遞歸函數(shù):在函數(shù)內(nèi)部,可以調(diào)用其他函數(shù)。如果一個函數(shù)在內(nèi)部調(diào)用自身本身,這例22.1lambda函數(shù)也叫匿名函數(shù),即,函數(shù)沒有具體的名稱,而用def創(chuàng)建的方法是有名稱的lambda語句中,冒號前是參數(shù),可以有多個,用逗號隔開,冒號右邊的返回值。2.3舉例:4.yield函數(shù):yield的作用就是把一個函數(shù)變成一個generator,帶有yield的函5.裝飾器其中@語法糖:相當(dāng)于run=login(run)課后反思掌握導(dǎo)入模塊:os模塊及方法:講授演示法上機(jī)操作教學(xué)過程模塊是一個包含定義的變量,函數(shù)和類的文件,其后綴名是.py。模塊可以被其他程2.1.1如果作為程序文件獨(dú)立執(zhí)行,__name__變量值為__main__,則執(zhí)行if2.1.2如果作為模塊導(dǎo)入其他文件,__name__變量值為模塊名,則不執(zhí)行if__name__=="__main__":后的語句,在導(dǎo)入進(jìn)的文件中調(diào)用時才對應(yīng)執(zhí)printsys.path查看以列表顯示的搜索路徑例如:frommodulesimportnames導(dǎo)入模塊的指定屬性或方法4.掌握os模塊常用方法(實(shí)現(xiàn)跨平臺的操作系統(tǒng)應(yīng)用接口)調(diào)用系統(tǒng)命令的方法os.system():調(diào)用操作系統(tǒng)的命令;例如os.popen()調(diào)用系統(tǒng)命令,但結(jié)果是返回對象例如:os.walk():遍歷目錄樹walk(top,topdown=True,onerror=None)顯示c盤文件和目錄:makedirs():創(chuàng)建多層級目錄;如:和getatime():訪問時間,課后反思講授演示法上機(jī)操作教學(xué)過程random.randint()的函數(shù)原型為:random.randint(a,b),用于生成一個指定范圍內(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)#該語句是錯誤的。下限必須小于上限。2)Random.randrange([start],stop[,step])從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù)。如:random.randrange(10,100,12,14,16,...96,98]序列中獲取一個隨機(jī)數(shù)2.Md5加密模塊分別輸出每行內(nèi)容##:當(dāng)命令行參數(shù)為,顯示版本號:::當(dāng)參數(shù)為文件名時,傳入,讀出其內(nèi)容學(xué)生上機(jī)完成本節(jié)Random模塊的上機(jī)編程任MD5加密模塊Time模塊課后反思錯誤與異常和正則表達(dá)式了解什么是錯誤了解什么是異常教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法過當(dāng)python檢測到錯誤(語法錯誤或者邏輯錯誤等)時,導(dǎo)致解釋器無法繼續(xù)執(zhí)行下去,這時候就出現(xiàn)了異常.異常拋出:為程序開發(fā)人員提供了一種在運(yùn)行時發(fā)現(xiàn)錯誤,進(jìn)行恢復(fù)處理,繼續(xù)執(zhí)行的能力。3.掌握python中的常見異常NameError---------使用一個還未賦予對象的變量IndexError--------下標(biāo)索引超出序列邊界TypeError---------傳入的對象類型與要求不符python編程_Python異常機(jī)制try:代碼段except異常類型,e:異常處理代碼段,如果不知道異常類型,可以使用try:代碼段exceptExcept,e:異常處理代碼段;Except是通用異常類型語句exceptException1[,reason]:-->異常判斷語句語句-->異常處理語句exceptException2[,reason]:-->異常判斷語句語句-->異常處理語句-->捕捉這里語句的異常except:-->空except語句用于捕捉其他異常語句-->未發(fā)生異常時執(zhí)行finally:-->無論是否發(fā)生異常都執(zhí)行語句語法:assertexpression[,reason]assert是斷言的關(guān)鍵字。執(zhí)行該語句的時候,先判斷表達(dá)式expression,如果表達(dá)式為真,則什么都不做;如果表達(dá)式不為真,則拋出異常1.了解什么是正則表達(dá)式正則表達(dá)式(RE)是由普通字符和特殊符號組成的字符串,描述了這些字符的某種組合方式,因此能按某種模式匹配一組有相似特征的字符串.2.了解什么是re模塊\S匹配不是空白的字符功能:編譯正則表達(dá)式回匹配列表3)match()4)search()搜索:search會檢查字符串任意位置與給定正則表達(dá)式的搜索情況。如果搜索到成功的匹配,會返回一個匹配對象,否則返回None。5)split()max次(默認(rèn)是分割所有匹配的地方)用法:split(pattern,string,max=0)a功能:將某字符串中匹配正則表達(dá)式模式的部分進(jìn)行替換。subn()和sub()一樣,但它還返回一個表示替換次數(shù)的數(shù)字;替換后的字符串和表示替換次數(shù)的數(shù)字作為一個元組返回。用法:sub(pattern,repl,string,max=0)二、上機(jī)練習(xí)學(xué)生上機(jī)完成本節(jié)python中的常見異常、檢測和處理異常、處理異常的特殊方法、re模塊的上機(jī)編程任務(wù),教師巡視指導(dǎo)。課后反思與數(shù)據(jù)庫交互掌握數(shù)據(jù)庫連接方法掌握數(shù)據(jù)庫模塊方法掌握數(shù)據(jù)庫關(guān)閉方法數(shù)據(jù)庫操作:教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法數(shù)據(jù)庫模塊方法講授演示法上機(jī)操作教學(xué)過程cursor用來接收返回值的方法//返回一條結(jié)果行fetchone(self)3.1創(chuàng)建databasetables如果數(shù)據(jù)庫連接存在我們可以使用EMPLOYEE:代碼如下:db=MySQLdb.connect("localhost","root","361way","test")#使用cursor()方法獲取操作游標(biāo)cursor=db.cursor()sql="""CREATETABLEEMPLOYEE(FIRST_NAMECHAR(20)NOTNULL,LAST_NAMECHAR(20),AGEINT,db=MySQLdb.connect("localhost","root","361way","test")#使用cursor()方法獲取操作游標(biāo)cursor=db.cursor()sql="""INSERTINTOEMPLOYEE(FIRST_NAME,LAST_NAME,AGE,SEX,INCOME)VALUES('Mac','Mohan',20,'M',2000)"""try:#Rollbackincasethereisanyerrordb.rollback()這里是一個單sql的用法感興趣的讀者可以參看相關(guān)的aws主機(jī)資產(chǎn)管理系統(tǒng)示例。上例也可以寫成通過占位符傳參的方式進(jìn)行執(zhí)行,如下:代碼如下:password="password123"con.execute('insertintoLoginvalues("%s","%s")'%\(user_id,password))sql="SELECT*FROMEMPLOYEE\WHEREINCOME>'%d'"%(1000)try:cursor.execute(sql)#獲取所有記錄列表results=cursor.fetchall()forrowinresults:fname=row[0]except:print"Error:unabletofecthdata"#關(guān)閉數(shù)據(jù)庫連接以上腳本執(zhí)行結(jié)果如下:=)=更新操作用于更新數(shù)據(jù)表的的數(shù)據(jù),以下實(shí)例將test表中的SEX字段全部修改為'M',AGE字段遞增1:代碼如下:sql="UPDATEEMPLOYEESETAGE=AGE+1WHERESEX='%c'"%('M')try:cursor.execute(sql)#提交到數(shù)據(jù)庫執(zhí)行mit()#執(zhí)行SQL語句cursor.execute(sql)#向數(shù)據(jù)庫提交mit()對于支持事務(wù)的數(shù)據(jù)庫,在Python數(shù)據(jù)庫編程中,當(dāng)游標(biāo)建立之時,就自動開始了一個隱形的數(shù)據(jù)庫事務(wù)。commit()方法游標(biāo)的所有更新操作,rollback()方法回滾當(dāng)前游標(biāo)的所有操作。每一個方法都開始了一個新的事務(wù)。學(xué)生上機(jī)完成本節(jié)python中的數(shù)據(jù)庫連接、數(shù)據(jù)庫操作、數(shù)據(jù)庫關(guān)閉的上機(jī)編程任務(wù),教師巡視指導(dǎo)。數(shù)據(jù)庫模塊方法數(shù)據(jù)庫操作:課后反思講授演示法上機(jī)操作過完成教學(xué)任務(wù)實(shí)例:具體如下到1.=:i=0i<:i1)3.==4.="數(shù)===分值自評20303020小組成員分工及配合方面課后反思教學(xué)重點(diǎn)教學(xué)難點(diǎn)主要教法個socket。Socket的英文原義是“孔”或“插座”。作為BSDUNIX的進(jìn)程通信機(jī)制,取后一種意思。通常也稱作"套接字IP擬機(jī)或不同計算機(jī)之間的通信socket類型IPv6數(shù)據(jù)報式socket,forUDP原始套接字,普通的套接字無法處理ICMPIGMP等網(wǎng)絡(luò)報文,而SOCK_RAWSOCK_RAW也可以處理特殊的IPv4socket.SOCK_S

溫馨提示

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

評論

0/150

提交評論