Python教案課程職責(zé)教學(xué)設(shè)計_第1頁
Python教案課程職責(zé)教學(xué)設(shè)計_第2頁
Python教案課程職責(zé)教學(xué)設(shè)計_第3頁
Python教案課程職責(zé)教學(xué)設(shè)計_第4頁
Python教案課程職責(zé)教學(xué)設(shè)計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課題程序設(shè)計基礎(chǔ)-緒論教 學(xué) 目 標(biāo). 了解程序設(shè)計語言的發(fā)展歷史.理解Python語百的特點及具重要性.掌握Python語言Hello程序的編寫方法.掌握Python語言開發(fā)的運行環(huán)境的配置教學(xué)重點Python語百的特點及其重要性Python語言開發(fā)的運行環(huán)境的配置教學(xué)難點Python語言開發(fā)的運行環(huán)境的配置主要教法講授演示法+上機操作教 學(xué) 過 程一、新課導(dǎo)入.計算機的定義:能夠根據(jù)指令操作數(shù)據(jù)的設(shè)備?計算機的兩個特性-功能性-可編程性?計算機的可編程性需要通過程序設(shè)計來體現(xiàn).程序設(shè)計諦言:計算機能夠理解和識別操作的一種交互體系程序設(shè)計諦言的種類機器語百,匚編語百局級語百常用的程序設(shè)計語言

2、?局級語百的執(zhí)行方法-靜態(tài)語百:編譯執(zhí)行-腳本語百:解釋執(zhí)行?編譯和解釋的區(qū)別-編譯:一次性的翻譯,需對目標(biāo)代碼優(yōu)化-解釋:每次運行都需要?編譯:源代碼(高級語言)轉(zhuǎn)換成目標(biāo)代碼(機器語言)解釋:源代碼逐條轉(zhuǎn)化成目標(biāo)代碼同時逐條運行目標(biāo)代碼的過程?編譯的好處-目標(biāo)代碼執(zhí)行速度更快-目標(biāo)代碼在相同操作系統(tǒng)上使用靈活-解釋的好處-便于維護源代碼-良好的可移植性? Python語言:將解釋器和編譯器結(jié)合的腳本語言?計算機已成為普通工具?學(xué)會編程:滿足感和安全感? C/C+等語言:復(fù)雜? Python語言:充滿快樂和創(chuàng)造性的全新旅程Python語言概述? Python語言的歷史誕生于 1989年,已有

3、25年,達(dá)到成熟期2000 年,Python 2.0, 2,.7.62008 年,Python 3.0, 3.4.x? Python語言的特點強制縮進(jìn)保證可讀性不需要主函數(shù)可以同時被解釋和編譯執(zhí)行一 語百簡潔編程模式靈活(面向過程和面向?qū)ο螅㏄ython語言的開發(fā)環(huán)境配置?安裝Python運行環(huán)境根據(jù)操作系統(tǒng)選擇不同版本下載相應(yīng)的Python 2.7.6版本程序,跟隨提示安裝?使用Python運行環(huán)境方法一:啟動 Windows命令行工具,輸入 python,在后輸入Python語句, 如圖所示輸入exit()或quit()退出方法二:調(diào)用已安裝的IDLE來啟動Python運行環(huán)境,方法三:按

4、照語法格式編寫代碼,保存為文件,例如源文件 hello.py。打開 Windows命令行,使用命令 python hello.py來運行文件?使用Python運行環(huán)境方法四:打開IDLE, Ctrl+N打開一個新窗口,輸入語句并保存,使用快鍵建 F5即可運行該程序方法五:將Python集成到Eclipse等面向較大規(guī)模項目開發(fā)的集成開發(fā)環(huán)境中其他操作系統(tǒng)上配置 Python環(huán)境與上述在Windows上的配置方法類似Hello 程序?你的第一個程序:在屏幕上打印出Hello World-print “Hello World”-表示將引號中的信息輸出到屏幕上 顯示效果如下: 二、上機練習(xí)首先進(jìn)行P

5、ython的安裝與開發(fā)環(huán)境配置, 接著完成第一個程序“ Hello World ”三、本課小結(jié)計算機的基本概念程序設(shè)計語言分類編譯和解釋Python語言概述Python的Hello程序編寫及開發(fā)環(huán)境配置課后反思時間:課題Python程序語言入門教? 讓學(xué)生了解什么是編程及對編程提起濃厚的學(xué)習(xí)興趣;學(xué) Python Shell、GUI 和 Prompt (提示符)的理解;學(xué)會與Python交互的方法,print指令;目新建程序文本文檔、運行程序的方法、保存時需要注意什么;學(xué)會怎樣去查詢程序的錯誤;標(biāo)P讓學(xué)生對編程提起濃厚的興趣;教學(xué)重點- print指令的運用;識別和修正程序的錯誤。教學(xué)難點識別

6、和修正程序的錯誤;主要教法講授演示法+上機操作教 學(xué) 過 程一、復(fù)習(xí)鞏固1、什么是編程?2、Python我們和計算機溝通的語言所想要表達(dá)編程軟件翻計算機接收的意思譯成二進(jìn)制并執(zhí)行常用、最流行的幾種程序語言:C、C+、C#、Java VB、python3、Python可以用來做什么開發(fā)游戲&軟件(游戲后臺大多數(shù)用python編寫);制作更高級的 Flash (web flash gamR ;創(chuàng)建數(shù)據(jù)庫;黑客hacker (遠(yuǎn)程攻擊計算機、破解硬件 or軟件);發(fā)明變形金剛(2006年日本FANUC推出的人工智能機器人);學(xué)習(xí)其他語言的基礎(chǔ)(所有程序語言都有共同性,學(xué)好python能夠讓你快人一步

7、的理解其他程序語言);python幾乎無所不能。=當(dāng)然不是每一個學(xué)習(xí)python的人都能成功=但是學(xué)習(xí)python你將獲禾I以下幾點=V讓你的思維更加敏捷!V讓你變的知識淵博!V讓你學(xué)習(xí)更多的英文!= 也有可能帶來一些“負(fù)面影響=X你的皮膚會變得粗糙_ 叫做提示符(Prompt),指程序正在等待你鍵入信息時顯示的符號。 三、來點指令吧! print Hey man!”回車(每輸入完一行指令都要輸入回車以跳轉(zhuǎn)到下一行) Print打?。睿?,指在屏幕上顯示文本,而不是常說的用打印機打印在紙上。! !注意 顏色 錯誤 print 5 + 3 8計算機非常擅長算術(shù)運算,計算機被創(chuàng)造出來的初期就是被

8、用來數(shù)據(jù)計算。 再試一條指令! print 5 * 3 15= Mr.Lee TIPS =幾乎所有計算機程序和語言中都使用*符號作為乘號。這個符號稱作“星號”或“星”。=口算&計算器& python 三者進(jìn)行對比吧 = 口 算:Print 5 * 3=口算&計算器& python 三者進(jìn)行對比吧 =利用python你除了可以超大數(shù)的數(shù)學(xué)計算之外,你還可以做些令人意想不到的事情,例 如: print Dog + brother”Dog brother 或者 print where is plane * 20where is plane where is plane where is plane

9、where is plane where is plane where is planeiswhere is plane where is plane where is plane where is plane where is plane where is plane where plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane計算機除了非常擅長運算外,另一件事情就是反復(fù)的做事情,重要的是它不會感到枯燥, 就像上面我讓計算

10、機喊了 20句where is plane,如果你高興可以讓它喊到直到 MH370出現(xiàn), 前提是馬航要給力還有就是不要停電 五、編程任務(wù)到目前為止,我們只是看到單個 python指令的演示,其實程序就是多個指令的集合。1、創(chuàng)建程序的方法:a.通過 Python Shell 菜單欄 一 File 一 New Windows 創(chuàng)建;b.快捷鍵:Ctrl + No*新程序窗口標(biāo)題欄顯示“ Untitled (未命名)。如何給程序取名字?2、程序1我們的第一個程序“我愛吃香蕉”print “我愛吃香蕉!”print “香蕉 ” * 20print “mua ” * 40print “我吃撐了!”3、保

11、存/另存(命名)你的程序文檔File - Save / Save As輸入完指令后通過Save快:Ctrl + N保存or另存為Save As 快:Ctrl + Shift +S! !注意 擴展名 print where is plane ”syntax error: invalid syntax (語法錯誤: 無效的語法)theres an error is your program (這是一個錯誤的程序)錯誤原因:where前面漏了一個引號2 runtime error(運行時錯誤):只會在程序運行時才會發(fā)生的錯誤,是IDLE或python無法檢測出來的錯誤。例如:程序2 運行時錯誤-“我

12、愛大鱷魚”print “你好!歡迎來到我的動物園!”print “我的動物園有好多好多的動物,例如: ”print “鱷魚 ” + 5錯誤原因:IDLE 1.2.1= No Subprocess =你好!歡迎來到我的動物園!我的動物園有好多好多的動物,例如:Traceback (most recent call last):(錯誤的開始)File C:UsersAdministratorDestopi love big cayman.py, line 4, in (錯誤 發(fā)生的位置/程序文件保存的路徑)Print鱷魚” + 5 (出錯的代碼行)TypeError: cannot concate

13、nate str and iht objects (python認(rèn)為可能存在的問題,并 不一定是在這里,但是會在這附近)=思 考=為嘛print “鱷魚” * 5可以,print “鱷魚” + 5卻不行?=解惑=聽我說,這有點像將蘋果和鱷魚放在一起,在python中不能將兩個完全不同的東西放在一起,比如說數(shù)字(int)和文本(str)。 “鱷魚” + 5像是在說5個蘋果和3只鱷魚相 加等于多少?結(jié)果是8,但是8個什么?完全沒有意義。不過幾乎所有東西都可以乘以一個數(shù)來翻倍,如果你有1只鱷魚,再乘以5,那么你就會有5只鱷魚?。寺〈髞y斗!)。七、第二個程序任務(wù)第一個程序“我愛吃香蕉!”沒多大實際意

14、義,僅僅只是在屏幕上打印了一些內(nèi)容,下面我們來是一個更加有意思的程序,記得給它取上一個名字,NumGuesg是個不錯的名字。File f New Windows f Save - NumGuess.py輸入以下代碼:#encoding=GBK#import randomsecret = random.randint(1, 100)guess = 0tries = 0print 你好,同學(xué)我和你們班主任之間有一個秘密?。縫rint ”這個秘密就在1-99之間的一個數(shù)字。我會給你6次機會來猜這個數(shù)字,猜對你就可以獲贈加多寶一罐!while guess !=secret and tries 6:gu

15、ess = input(來猜個數(shù)字吧! ?)if guess secret:print 太高了喔!”tries = tries + 1if guess = secret:print 哦也!你猜中這個數(shù)字了! !那么加多寶的話,請出門左拐找你們蔣老師! else:print 我不會給你更多機會了,同學(xué)!你現(xiàn)在得請我喝一瓶王老吉!print 這個秘密數(shù)字就是, secret程序解析:while、 if、 else elif和input指令我們在以后會詳細(xì)的學(xué)到。程序概念點:?由程序隨機選取秘密數(shù)。?用戶輸入他猜的數(shù)。?程序根據(jù)秘密數(shù)檢查用戶猜的結(jié)果:太大還是太?。?用戶不斷嘗試,直到猜出這個數(shù),或

16、者用完所有機會。?猜到的數(shù)與秘密數(shù)一致時,玩家獲勝。教學(xué)過程結(jié)束。課堂小結(jié):? 學(xué)會了如何啟動IDLE;? 了解了交互模式;? 交給Python 一些指令來執(zhí)行;? 看到了 Python知道如何完成算術(shù)運算(包括非常大的數(shù));? 啟動IDLE文本編輯器鍵入你的第一個程序:我愛吃香蕉;? 運行你的第一個Python程序;? 了解如何查看錯誤消息;? 運行你的第二個 Python程序:猜數(shù)游戲。課堂練習(xí) 之 用腦想一想:如何啟動IDLE ?print的作用是什么?Python中表示乘法和除法的符號是什么?GUI的特性包括哪些?如果想要你的程序支持中文,需要做什么?課堂練習(xí)之動手做一做:.在交互模式

17、中,使用 Python計算一周有多少分鐘。.編寫一個簡短的小程序,打印3行:你的名字、出生日期,還有你最喜歡的顏色(結(jié)果應(yīng)該是下面這樣)我的名字叫XX ,我是XX運動隊的。我1988年08月20日出生。我最喜歡的顏色是粉紅色。課后反思課題時間:判斷循環(huán)教 學(xué) 目 標(biāo)掌握if語句:單分支、雙分支、多分支、嵌套 完成條件語句實例:登錄認(rèn)證模塊學(xué)會判斷輸入是否合法了解三元表達(dá)式掌握 range ()掌握循環(huán)語句掌握for語句掌握while掌握 break、continue、pass完成循環(huán)語句實例:登錄認(rèn)證模塊擴展教學(xué)重點掌握if語句:單分支、雙分支、多分支、嵌套 了解三元表達(dá)式掌握 range (

18、)掌握循環(huán)語句掌握for語句掌握while掌握 break、continue、pass教學(xué)難點完成條件語句實例:登錄認(rèn)證模塊 完成循環(huán)語句實例:登錄認(rèn)證模塊擴展主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授1.掌握if語句a)單分支if表達(dá)式:代碼塊1else:代碼塊b)雙分支if表達(dá)式1:代碼塊1elif 表達(dá)式2:代碼塊2c)多分支if表達(dá)式1:代碼塊1elif 表達(dá)式2:代碼塊2else :代碼塊其他d)嵌套. 了解三元表達(dá)式Expressionl ifboolean_expression else Expression2如果滿足條件A大于B,則max值為A,反之max為B如:m

19、ax=A if AB else B例如:.掌握 range ()range():產(chǎn)生整數(shù)序列例:range(n):產(chǎn)生從0開始,至U n的數(shù)字序列,不包括n。range(m,n):產(chǎn)生從m開始,至U n的數(shù)字序列,不包括n。n。range(m,n,k):產(chǎn)生從m開始,到n,增量為k的數(shù)字序列,不包括.掌握循環(huán)語句a)掌握for語句語法格式:for expression1 in iterable:for_suiteelse :else_suite例如:結(jié)果:b)掌握 whilec)掌握 break、continue、pass語法結(jié)構(gòu):while boolean_expression:while_

20、suiteelse:else_suite解釋:如果 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í)行。例如:break :跳出所處的最近層循環(huán)continue:跳到所處的最近層循環(huán)的開始處pass:占位語句例如:執(zhí)行結(jié)果:二、上機練習(xí).條件語句實例:登錄認(rèn)證模塊a)判斷輸入是否合法b)非法用戶提示警告信息c)合法用戶提示登錄成功u

21、sername = raw_input (username: )if username =:print 用戶名不能為空”else :print 033 1;33;45m 登錄成功,歡迎 s033 0m %usernamechr()ord().循環(huán)語句實例:登錄認(rèn)證模塊擴展a)直接回車無效,繼續(xù)輸入b)驗證用戶身份是否合法三、課堂小結(jié)if語句:單分支、雙分支、多分支、嵌套、二兀表式、range ()、循環(huán)語句、for語句、while、break、continue、pass登錄認(rèn)證模塊展示課后反思時間:課題python序列-字符申教 學(xué) 目 標(biāo)了解序列類型常用操作了解索引和切片掌握類型轉(zhuǎn)化掌樨強制

22、類型轉(zhuǎn)化學(xué)會字符串轉(zhuǎn)換實例:格式化輸出菜單列表,將用戶的輸入數(shù)值轉(zhuǎn)化整型并 驗證掌握字符串常用方法s.find() s.join() s.replace() s.split() s.strip() s.index() s.startswith/s.endswith (t)s. isalnum () /s.isalpha () /s.isdigit () /isupper()/islower()s.upper()/ s.lower () /s.swapcases.count()教學(xué)重點了解序列類型常用操作 了解索引和切片 掌握類型轉(zhuǎn)化 掌樨強制類型轉(zhuǎn)化教學(xué)難點學(xué)會字符串轉(zhuǎn)換實例主要教法講授演示法

23、+上機操作教 學(xué) 過 程一、新課講授.序列類型常用操作a)索引和切片索引:例:s0從左向右:索引從 0開始;從右向左:索引從 -1開始切片:例:s0:2擴展切片:指定步長,例:s0:9:2b)掌握類型轉(zhuǎn)化格式:print 字符串 format1 %format2 (變量或值1,變量或值2.)符號及其對應(yīng)輸出格式:%d或%i十進(jìn)制整數(shù)或長整數(shù)%f浮點數(shù)%s字符串%用于輸出符號%舉例:c)強制類型轉(zhuǎn)化int ():強制轉(zhuǎn)換為整型, 例如: 注意:只能將由數(shù)字組成的字符串轉(zhuǎn)換為整型 錯誤用法 float ():強制轉(zhuǎn)換為浮點型例如 str():強制轉(zhuǎn)換為字符串例如:2.掌握字符串常用方法s.find

24、 (t):查找子用t,找到返回最小的索引值,找不到則返回-1s.join(iter) 使用s作為連接符連接序列iter中所有元素如:list2=h,e,T,T,o, .,c,o,m.join (list2 )s.replace (old,new ):替換s.split (sep):使用sep作為分割符,列表返回結(jié)果。如:str= ”str.split(.) 得到www ,baidu,com 序列s. strip(t):刪掉開頭和結(jié)尾的字符t如:刪除空白符s1.strip()s. index (t):子用t首次出現(xiàn)的位置,找不到報錯s.startswith/s.endswith (t)以子用 t

25、 開頭/結(jié)尾:結(jié)果是 true 或 falses. isalnum () /s.isalpha () /s.isdigit () /isupper()/islower() : 判斷所有字符 是否為數(shù)字或字母/是否為字母/是否為數(shù)字結(jié)果是bools.upper()/ s.lower () /s.swapcase :所有字母轉(zhuǎn)化為大寫字母/小寫字母,大小寫 互換s.count(t) 統(tǒng)計t出現(xiàn)的次數(shù)二、上機練習(xí)a)字符串轉(zhuǎn)換實例:格式化輸出菜單列表;將用戶的輸入數(shù)值轉(zhuǎn)化整型并驗證三、本課小結(jié)序列類型常用操作、索引和切片、類型轉(zhuǎn)化、強制類型轉(zhuǎn)化、字符串常用方法 學(xué)生展示:字符串轉(zhuǎn)換實例課后反思時間:

26、課題python列表和元祖教 學(xué) 目 標(biāo)掌握列表基礎(chǔ)知識 掌握列表相關(guān)方法 掌握序列類型操作 掌握生成器 掌握元組類型 掌握元組相關(guān)方法教學(xué)重點掌握列表相關(guān)方法 掌握序列類型操作 掌握生成器 掌握元組類型教學(xué)難點掌握列表相關(guān)方法 掌握元組相關(guān)方法主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授.掌握列表基礎(chǔ)知識列表的特點:支持異構(gòu):一個列表中含不同類型的對象支持嵌套:即列表中的兀素可以是列表可父:支持通過索引,切片,進(jìn)行修改如何定義列表:方造L: 口;例:list1=1,3,5方法一:使用內(nèi)置函數(shù)list():內(nèi)建函數(shù)list(a_sequence)可以將一個序列轉(zhuǎn)為列表例1: stU=

27、dddgf list1=list(str1) listl d, d, d, g, f例2:(后面講) tuple1=(1,2,1) list1=list(tuple1) listl1, 2, 1例3:.掌握列表相關(guān)方法:append ():向列表中追加元素例如:extend ():追加可迭代對象中所有元素例 1: list2=1,2,3list3=list3.extend(list2)例2insert ():在指定索引位置插入列表也支持索引,例如:插入例子:pop ():按照索引彈出元素,返回值為該元素。默認(rèn)彈出最后一個元素 例如:remove ():按照元素值彈出第一個匹配項例如:count

28、 ():統(tǒng)計指定值出現(xiàn)的次數(shù)index():某個值第一次出現(xiàn)的位置例如:reverse ():反向存放例如:查詢遍歷:for I in listfor i , k enument (list )sort ():排序.掌握序列類型操作:序列類型包括:字符串、列表、元組+連接*重復(fù)例如:max():求最大值、min():求最小值例如:.掌握列表生成式列表生成式,是 Python內(nèi)置的一種極其強大的生成list的表達(dá)式。用于:基于已有列表生成新列表語法結(jié)構(gòu):列表生成式的書寫格式:x*x for x in range(1 ,11)第一:把要生成的元素x*x放到前面第二:后面跟上for循環(huán)這樣就可以把l

29、ist創(chuàng)建出來。for循環(huán)后面還可以加上if判斷舉例:1到10之間的偶數(shù)平方再除以2作為新列表元素1到10之間的偶數(shù),作為新列表元素特點:一次性生成新列表,如果列表數(shù)據(jù)過大,會消耗大量資源。.掌握元組類型定義元組:方法一:()例:tuple1=(1,3,4)方法二:使用內(nèi)置函數(shù)tuple():將可迭代對象中所有元素作為元組元素例: list1=1,2,3 t1=tuple(list1) t1(1,2, 3)1.2元組的特點支持異構(gòu);支持嵌套;/、可變:不支持通過索引、切片,進(jìn)行 修改.元組的遍歷例如:.掌握元組相關(guān)方法index ():返回指定元素第一次出現(xiàn)的索引位置count ():指al兀

30、素出現(xiàn)的次數(shù)例如:二、上機練習(xí)練習(xí):三、本課小結(jié)列表基礎(chǔ)知識、列表相關(guān)方法、序列類型操作、生成器、元組類型、元組相關(guān)方法 學(xué)生完成實例操作課后反思時間:課題運維平臺計算機管理實例教 學(xué) 目 標(biāo)登錄模塊實現(xiàn) 添加計算機 刪除計算機 查詢可管理計算機教學(xué)重點登錄模塊實現(xiàn)教學(xué)難點查詢可管理計算機主要教法講授演示法+上機操作教 學(xué) 過 程一、學(xué)習(xí)任務(wù)運維平臺計算機管理實例任務(wù)要求與注意事項二、上機練習(xí)學(xué)生上機實操:提示:三、任務(wù)展示與評價學(xué)生進(jìn)行展示,完成互評與老師點評項目分值評價標(biāo)準(zhǔn)得分自評組評師評|程序設(shè)計20編程技巧30 1調(diào)試過程運行結(jié)果30搭建合理穩(wěn)固小組配合20小組成員分工及配合方面總體得

31、分課后反思時間:課題python字典和集合教 學(xué) 目 標(biāo)掌握字典類型 掌握字典相關(guān)方法 掌握字典的遍歷 掌握集合類型掌握集合相關(guān)方法教學(xué)重點掌握字典相關(guān)方法 掌握字典的遍歷 掌握集合類型教學(xué)難點掌握字典的遍歷掌握集合相關(guān)方法主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授.掌握字典類型字典的特點無序:通過鍵實現(xiàn)元素存取,故無序可變:可以通過鍵進(jìn)行改變異構(gòu):支持多種數(shù)據(jù)類型嵌套:可以在鍵值對中的值部分出現(xiàn)字典定義字典:方用 keyl : valuel , key2 : value2,方法二:dict()內(nèi)置函數(shù):指定鍵值例:d2=dict (name=jerry,age=45,gender

32、=m )iv. 關(guān)鍵點:鍵與值用冒號f ”分開;項與項用逗號;”分開;字典中的鍵必須是唯一的,而值可以不唯一.掌握字典相關(guān)方法更新或添加元素:dict1key = value例如:tems ():變量解包:即將字典轉(zhuǎn)化為鍵、值作為元組的列表例如:eys ();鍵歹U表例如:alues ():值列表例如:as_key ():判斷是否存在某個鍵,返回結(jié)果true或false例如:el刪除元素:調(diào)用python自身函數(shù)刪除例如:en():取得字典中鍵值對個數(shù)例如:update ():在原字典上合并字典,鍵相同時會被覆蓋。例如:get ():取得某個鍵對應(yīng)的值例如:pop ():彈出指定鍵對應(yīng)的值po

33、pitem ():隨機彈出鍵值對clear():清除所有元素例如:.掌握字典的遍歷:.掌握集合類型什么是集合無序、互異,集合的功能及特點支持成員關(guān)系判斷支持迭代不支持索引,切片元素唯一定義集合set方法一:元素方法二:內(nèi)置函數(shù) set ()例:.集合相關(guān)方法:len ():元素個數(shù)例如:add ():添加元素例如:remove。:刪除元素例如:update ():合并集合例如:pop():隨機彈出某個元素例如:集合關(guān)系操作s|t: s和t的并集例如:s&t: s和t的交集例如:s-t:求差集,存在于 s集合而不存在于t集合中的例如:sAt:求對稱差集例如:二、上機練習(xí)學(xué)生上機完成字典類型、字典

34、相關(guān)方法、字典的遍歷、集合類型、集合相關(guān)方法的案例練習(xí)。三、本課小結(jié)字典類型、字典相關(guān)方法、字典的遍歷、集合類型、集合相關(guān)方法課后反思時間:課題python文件處理教掌握如何創(chuàng)建文件對象學(xué)掌握open二種基本模式目掌握open()的附加模式掌握文件對象的相關(guān)方法標(biāo)掌握文件對象的相關(guān)屬性教學(xué)重點掌握如何創(chuàng)建文件對象掌握open二種基本模式掌握open ()的附加模式掌握文件對象的相關(guān)方法教學(xué)難點掌握文件對象的相關(guān)屬性主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授.掌握如何創(chuàng)建文件對象a)內(nèi)置函數(shù)open()同file ():用于打開文件和創(chuàng)建文件對象,返回文件對象b) with 打開文件

35、: with open(password) as f : #f = file(password)c)語法格式:open(文件名,模式)例如:.掌握open ()三種基本模式a)r:只讀,如果文件不存在,會發(fā)生異常例:w:寫入(覆蓋原有內(nèi)容),如果文件不存在,會創(chuàng)建文件例1: password文件內(nèi)容不為空,以 w模式打開:結(jié)果:創(chuàng)建passwd文件a:附加(從文件尾部追加),如果文件不存在,會創(chuàng)建文件例如:.掌握open ()的附加模式+:表示同時支持讀寫aaa+可讀寫模式,寫只能寫在文件末尾處w+可讀寫,與a+的區(qū)別是要清空文件內(nèi)容r+可讀寫,與a+是區(qū)別是可以寫到文件任何位置.掌握文件對象

36、的相關(guān)方法readline():返回一行readlines():列表類型返回所有行內(nèi)容read():指定從文件讀取多少字節(jié),不指定字節(jié)數(shù)則讀取全部內(nèi)容,以字符串形式顯示。tell():當(dāng)前指針在文件中的位置(多少個字節(jié)的位置)seek():定義文件指針的偏移量f.seek(偏移量,選項)write ():將字符串寫入文件writelines():將字符序列寫入flush():刷新,將數(shù)據(jù)從緩存區(qū)寫入文件sldkjalsjaslkjdclose():關(guān)閉文件例如:例2:.掌握文件對象的相關(guān)屬性mode:文件打開模式name返回文件名closed :顯示文件是否已關(guān)閉掉例如:二、上機練習(xí)學(xué)生上機完

37、成創(chuàng)建文件對象、open ()三種基本模式、 open ()的附加模式、文件對象的相關(guān)上機練習(xí),熟練完成Python創(chuàng)建文件對象的方法。三、本課小結(jié)如何創(chuàng)建文件對象、open ()三種基本模式、open ()的附加模式、掌握文件對象的相關(guān)方法掌握文件對象的相關(guān)屬性課后反思時間:課題函數(shù)式編程一教 學(xué) 目 標(biāo)掌握什么是函數(shù)掌握函數(shù)的定義掌握函數(shù)的調(diào)用掌握函數(shù)形參和實參的區(qū)別了解函數(shù)的作用域:什么是作用域、作用域分類掌握函數(shù)的參數(shù):默認(rèn)參數(shù)、美鍵字參數(shù)、可變參數(shù)教學(xué)重點掌握函數(shù)的調(diào)用掌握函數(shù)形參和實參的區(qū)別教學(xué)難點了解函數(shù)的作用域:什么是作用域、作用域分類掌握函數(shù)的參數(shù):默認(rèn)參數(shù)、美鍵字參數(shù)、可變

38、參數(shù)主要教法講授演示法+上機操作教 學(xué) 過 程-、新課講授.掌握什么是函數(shù) function 功能def函數(shù)是python為了代碼重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu)。函數(shù)將相關(guān)功能打包并參數(shù)化,將復(fù)雜的系統(tǒng)分解成可管理的部件。.掌握函數(shù)的定義在這里說明幾點:在Python中采用def關(guān)鍵字進(jìn)行函數(shù)的定義,不用指定返回值的類型。函數(shù)參數(shù)params 可以是零個、一個或者多個,同樣的,函數(shù)參數(shù)也不用指定參數(shù)類型,因為在Python中變量都是弱類型的,Python會自動根據(jù)值來維護其類型。return語句是可選的,它可以在函數(shù)體內(nèi)任何地方出現(xiàn),表示函數(shù)調(diào)用執(zhí)行到此結(jié)束;如果沒有return 語

39、句,會自動返回 NONE ,如果有return 語句,但是return 后面沒有接表達(dá)式或者值的話也是返回 NONE。下面看例子:例1 :例2:例3:.掌握函數(shù)的調(diào)用函數(shù)調(diào)用的方法:函數(shù)名(實際參數(shù))在Python中不允許前向引用,即在函數(shù)定義之前,不允許調(diào)用該函數(shù)例如下面的錯誤:.掌握函數(shù)形參和實參的區(qū)別形參全稱是形式參數(shù),在用 def關(guān)鍵字定義函數(shù)時函數(shù)名后面括號里的變量稱作為形式參數(shù)。實參全稱為實際參數(shù),在調(diào)用函數(shù)時提供的值或者變量稱作為實際參數(shù)例如:. 了解函數(shù)的作用域什么是作用域變量的作用域:即變量能夠使用的范圍作用域分類本地作用域:定義在函數(shù)體內(nèi)的變量(局部變量)在Python中,

40、會為每個層次生成一個符號表,里層能調(diào)用外層中的變量,而外層不能調(diào)用里層中的變量,并且當(dāng)外層和里層有同名變量時,外層變量會被里層變量屏蔽掉,例如:在函數(shù)function 中,while 循環(huán)外面和 while 循環(huán)里面都有變量 x,此時,while循環(huán)外面的變量x會被屏蔽掉。注意在函數(shù)內(nèi)部定義的變量作用域都僅限于函數(shù)內(nèi)部,在函數(shù)外部是不能夠調(diào)用的,一般稱這種變量為局部變量。全局作用域:定義在主程序的變量(全局變量)它是在函數(shù)外部定義的,作用域是整個文件。全局變量可以直接在函數(shù)里面應(yīng)用,但是如果要在函數(shù)內(nèi)部改變?nèi)肿兞?,必須使用global關(guān)鍵字進(jìn)行聲明.掌握函數(shù)的參數(shù)默認(rèn)參數(shù):定義函數(shù)時, na

41、me=value”的形式設(shè)置參數(shù)默認(rèn)值在Python中默認(rèn)的是采用位置參數(shù)來傳參。這樣調(diào)用函數(shù)必須嚴(yán)格按照函數(shù)定義時的參數(shù)個數(shù)和 位置來傳參,從左至右進(jìn)行匹配,否則將會出現(xiàn)預(yù)想不到的結(jié)果調(diào)用函數(shù)時 Ada i ui e tr sl t dijdef ustrs (ustrnwnt. group=Jr Ilri / );list = 0li st userriiame - groupirri nt ucarcC Kafkel* Ckindleibl*) Tjli izi9 pyiRciii five ,ttir口 + nx/Pyr iv: ,肌5 .)def abc (name,age=26,

42、sex|):print ,* *姓名二Xs年齡二%s性別士 Xs,T%(namej age,sex)abc(gagaJage=ll)默認(rèn)參數(shù)放后邊關(guān)鍵字參數(shù):調(diào)用函數(shù)時,使用“ name=value”的形式通過參數(shù)名指定通過指定參數(shù)名字傳遞參數(shù)的時候,參數(shù)位置對結(jié)果是沒有影響的。關(guān)鍵字參數(shù)最厲害的地方在于它能夠給函數(shù)參數(shù)提供默認(rèn)值 ,參數(shù)指定了默認(rèn)值后,如果傳參時不指定參數(shù)名,則會從左到右依次進(jìn)行傳參,關(guān)鍵參數(shù)要放在普通參數(shù)后面。例如:可變參數(shù)例1: *args ,我們要定義一個函數(shù)的時候,必須要預(yù)先定義這個函數(shù)需要多少個參數(shù)(或者說可以接受多少個參數(shù))。一般情況下這是沒問題的,但是也有在定義

43、函數(shù)的時候,不能知道參數(shù)個數(shù)的情況在Python里,帶*的參數(shù)就是用來接受可變數(shù)量參數(shù)的,這里接收的是元組數(shù)據(jù)例 2: *kwargs,字典作為參數(shù):定義函數(shù)時使用*開頭的參數(shù),調(diào)用時使用name=value ” 的形式,作為傳遞進(jìn)來字典的鍵值對def say (kwarg.sj.# jriat .-*-扇arg$F 或蛇了 Ji f kwar:gs is not None:print k&rg町else :print *yu 31 td inpt tli nue iltc*(name- alex* / a g&=22)士數(shù)寒致kww第C: Fythoik27 .python. *xe C:/

44、Users/Adminiatra.t or/FyehaimFr1 a-ge : 22d maw:alex 二、上機練習(xí)學(xué)生上機完成函數(shù)式編程任務(wù),教師巡視指導(dǎo)。三、本課小結(jié)什么是函數(shù)函數(shù)的定義函數(shù)的調(diào)用函數(shù)形參和實參的區(qū)別函數(shù)的作用域:什么是作用域、作用域分類函數(shù)的參數(shù):默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)課后反思時間:課題函數(shù)式編程二教遞歸函數(shù)學(xué)掌握lambda表遼式目enumerate 函數(shù) JWU 化yield函數(shù)(迭代)標(biāo)裝飾器教學(xué)重點遞歸函數(shù)掌握lambda表遼式教學(xué)難點enumerate 函數(shù)序列化yield函數(shù)(迭代)主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授.遞歸函數(shù):在

45、函數(shù)內(nèi)部,可以調(diào)用其他函數(shù)。如果一個函數(shù)在內(nèi)部調(diào)用自身本身,這 個函數(shù)就是遞歸函數(shù);例1例2.掌握lambda表達(dá)式lambda函數(shù)也叫匿名函數(shù),即,函數(shù)沒有具體的名稱 ,而用def創(chuàng)建的方法是有 名稱的語法:lambda參數(shù):表達(dá)式lambda語句中,冒號前是參數(shù),可以有多個,用逗號隔開,冒號右邊的返回值。lambda語句構(gòu)建的其實是一個函數(shù)對象舉例:f1=lambda x,y:x+yf1(2,3)和map函數(shù)共同使用:Map()第一個參數(shù)接收一個函數(shù)名,第二個參數(shù)接收一個可迭代對象例如:Lambda和map共同使用. enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo). yield

46、函數(shù):yield 的作用就是把一個函數(shù)變成一個 generator ,帶有yield 的函 數(shù)不再是一個普通函數(shù),Python解釋器會將其視為一個generator例如:5.裝飾器裝飾器就是為已經(jīng)存在的對象添加額外的功能。比如1:例如2:其中融法糖:相當(dāng)于run = login(run)二、上機練習(xí)學(xué)生上機完成本節(jié)函數(shù)式編程任務(wù),教師巡視指導(dǎo)。三、本課小結(jié)遞歸函數(shù)掌握lambda表達(dá)式enumerate 函數(shù)序列化yield函數(shù)(迭代)裝飾器課后反思時間:課題常用模塊一教 學(xué) 目 標(biāo)了解什么是模塊了解模塊和文件掌握導(dǎo)入模塊:模塊搜索路徑、import語句導(dǎo)入模塊、from語句導(dǎo)入模塊os模塊及

47、方法:系統(tǒng)相關(guān)、目錄相關(guān)、路徑相關(guān)、文件相關(guān)、查詢相關(guān)教學(xué)重點了解模塊和文件教學(xué)難點掌握導(dǎo)入模塊os模塊及方法:主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授了解什么是模塊模塊是一個包含定義的變量,函數(shù)和類的文件,其后綴名是.py o模塊可以被其他程序?qū)?,以使用該模塊中的變量,函數(shù)和類。了解模塊和文件if _name_ =_main_: print xxxx如果作為程序文件獨立執(zhí)行,_name_E重值為main,則執(zhí)行if_name_ =_main_:后的語句。如果作為模塊導(dǎo)入其他文件,_name量值為模塊名,則不執(zhí)行if _name_=_main_:后的語句,在導(dǎo)入進(jìn)的文件中調(diào)用時

48、/I對應(yīng)執(zhí) 行。3.掌握導(dǎo)入模塊模塊搜索路徑:import sysprint sys.path查看以列表顯示的搜索路徑例如:import語句導(dǎo)入模塊import module 導(dǎo)入模塊import module as module_alias以另 U名導(dǎo)入模塊from語句導(dǎo)入模塊from modules import names導(dǎo)入模塊的指定屬性或方法4.掌握os模塊常用方法(實現(xiàn)跨平臺的操作系統(tǒng)應(yīng)用接口)指示正在使用的平臺;如果是 window 則用nt表示,對于Linux/Unix 用戶,它是posix例如:調(diào)用系統(tǒng)命令的方法os.system():調(diào)用操作系統(tǒng)的命令;例如os.popen

49、()調(diào)用系統(tǒng)命令,但結(jié)果是返回對象例如:目錄相關(guān)的方法:getcwd ():查看當(dāng)前目錄。即 python腳本工作的目錄路徑 ;例如:chdir ():切換目錄;例如:os.walk(): 遍歷目錄樹 walk(top,topdown=True,onerror=None)listdir ():列出指定目錄下文件及子目錄;如:顯示c盤文件和目錄:mkdir ():創(chuàng)建目錄;如:makedirs():創(chuàng)建多層級目錄;如:rmdir ():刪除空目錄;例如:removedirs ():刪除多層級空目錄;例如:路徑相關(guān)的方法::函數(shù)返回一個路徑的目錄名和文件名;例如:;如:,例如:,例如:;例如:,例

50、如:文件相關(guān)的方法:remove ():刪除文件,如:rename ():重命名文件,如查詢相關(guān)方法os.path .exist s()函數(shù)用來檢驗給出的路徑是否真地存在,如 :例如:islink ():是否為鏈接文件文件信息相關(guān)方法:stat ():查看文件狀態(tài)信息getatime():訪問時間getctime():狀態(tài)改變時間(例如權(quán)限等)getmtime():修改時間0L ,二、上機練習(xí)學(xué)生上機完成本節(jié)模塊與文件的上機編程任務(wù),教師巡視指導(dǎo)。三、本課小結(jié)什么是模塊模塊和文件掌握導(dǎo)入模塊:模塊搜索路徑、import語句導(dǎo)入模塊、from語句導(dǎo)入模塊os模塊及方法:系統(tǒng)相關(guān)、目錄相關(guān)、路徑相

51、關(guān)、文件相關(guān)、查詢相關(guān)課后反思時間:課題常用模塊二教 學(xué) 目 標(biāo)掌握Random模塊掌握MD5加密模塊竽握Time模塊掌握Sys模塊教學(xué)重點掌握Random模塊教學(xué)難點掌握MD5加密模塊主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授1. random模塊random.randintrandom.randint()的函數(shù)原型為:random.randint(a, b),用于生成個指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機數(shù)n: a = n = bprint random.randint(12, 20) #生成的隨機數(shù) n: 12 = n = 20print random

52、.randint(20, 20) #結(jié)果永遠(yuǎn)是 20#print random.randint(20, 10) #該語句是錯誤的。下限必須小于上限。Random.randrange (start, stop, step)從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機數(shù)。如:random.randrange(10, 100, 2),結(jié)果相當(dāng)于從10, 12, 14, 16,96, 98 序列中獲取一個隨機數(shù)Md5加密模塊Time模塊Sys模塊sys.argv 實例import sysdef readfile(filename):#從文件中讀出文件內(nèi)容Print a file to the st

53、andard output.f = file (filename)while True :line = f.readline()if len (line) =0:break print line, # notice comma分別輸出每行內(nèi)容f.close()# Script starts from hereif len (sys.argv) 捕捉這里語句的異常except Exception1,reason:-異常判斷語句語句-異常處理語句except Exception2,reason:-異常判斷語句語句-異常處理語句except:- 空except語句用于捕捉其他異常語句else:-未發(fā)

54、生異常時執(zhí)行語句finally:-無論是否發(fā)生異常都執(zhí)行語句5,掌握處理異常的特殊方法5 . 1斷言語法:assert expression,reasonassert是斷言的關(guān)鍵字。執(zhí)行該語句的時候,先判斷表達(dá)式expression ,如果表達(dá)式為真,則什么都不做;如果表達(dá)式不為真,則拋出異常. 了解什么是正則表達(dá)式正則表達(dá)式(RE)是由普通字符和特殊符號組成的字符串,描述了這些字符的某種組合方式,因此能按某種模式匹配一組有相似特征的字符串. 了解什么是re模塊Python的re模塊用于實現(xiàn)正則表達(dá)式。.掌握正則表達(dá)式中的特殊字符d 匹配任何數(shù)字D匹配非數(shù)字字符w 匹配字母,數(shù)字,下劃線W 匹

55、配不是字母,數(shù)字,下劃線的字符s 匹配空白字符S 匹配不是空白的字符.掌握re模塊的常用方法compile。功能:編譯正則表達(dá)式用法:compile(pattern,flags=0)findall()功能:取得每個()中正則匹配的內(nèi)容(沒有()則整個正則匹配的部分),返回匹配列表用法:findall(pattern,string,flags)match()匹配:從字符串的開頭對模式進(jìn)行匹配,如果成功,則返回一個對象;如果失敗,則返回Nona用法:match(pattern,string)search()搜索:search會檢查字符串任意位置與給定正則表達(dá)式的搜索情況。如果搜索 到成功的匹配,會

56、返回一個匹配對象,否則返回None。用法:search(pattern,string)split()功能:正則表達(dá)式作為分隔符把字符串分割為一個列表,返回列表,最多分割max 次(默認(rèn)是分割所有匹配的地方)用法:split(pattern,string, max=0)import rea = print re.split( .,a)sub()和 subn()功能:將某字符串中匹配正則表達(dá)式模式的部分進(jìn)行替換。subn()和sub() 一樣,但它還返回一個表示替換次數(shù)的數(shù)字;替換后的字符串和表示替換次數(shù)的數(shù)字作為一個元組返回。用法:sub(pattern, repl, string, max=0

57、).掌握匹配或搜索返回對象的常用的方法group()返回整個正則表達(dá)式匹配的字符串,同 group(0)group(i)正則表達(dá)式中第i個“()”括起來部分正則表達(dá)式匹配的內(nèi)容groups()返回各個()括起來的正則表達(dá)式匹配的字符串組成的元組start() 返回匹配開始的位置end()返回匹配結(jié)束的位置span()返回匹配開始和結(jié)束的位置二、上機練習(xí)學(xué)生上機完成本節(jié)python中的常見異常、檢測和處理異常、處理異常的特殊方法、re模塊的上機編程任務(wù),教師巡視指導(dǎo)。三、本課小結(jié)什么是錯誤、什么是異常python中的常見異常檢測和處理異常處理異常的特殊方法:斷言、拋出異常、re *塊課后反思時間

58、:課題與數(shù)據(jù)庫交互教 學(xué) 目 標(biāo)掌握數(shù)據(jù)庫連接方法掌握數(shù)據(jù)庫模塊方法學(xué)會數(shù)據(jù)庫操作:增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)掌握數(shù)據(jù)庫關(guān)閉方法教學(xué)重點數(shù)據(jù)庫操作:增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)教學(xué)難點數(shù)據(jù)庫模塊方法主要教法講授演示法+上機操作教 學(xué) 過 程一、新課講授.數(shù)據(jù)庫的連接mysqldb解決依賴性yum install python-devel mysql-devel zlib-devel openssl-devela)導(dǎo)入模塊b)建立連接c)常見參數(shù).數(shù)據(jù)庫模塊方法commit()提交rollback?;貪L看一個簡單的查詢示例如下:cursor方法執(zhí)行與返回值cursor方法提

59、供兩類操作:1.執(zhí)行命令,2.接收返回值。cursor用來執(zhí)行命令的方法execute(self, query, args)/執(zhí)行單條sql語句,但是重復(fù)執(zhí)行參數(shù)列表里的參數(shù),返回值為受影響的行數(shù)executemany(self, query, args)/移動到下一個結(jié)果集cursor用來接收返回值的方法/接收全部的返回結(jié)果行.fetchall(self)/接收size條返回結(jié)果行.如果size的值大于返回的結(jié)果行的數(shù)量,則會返回cursor.arraysize 條數(shù)據(jù)fetchmany(self, size=None)/返回一條結(jié)果行fetchone(self)3.數(shù)據(jù)庫操作創(chuàng)建 data

60、base tables如果數(shù)據(jù)庫連接存在我們可以使用execute()方法來為數(shù)據(jù)庫創(chuàng)建表,如下所示創(chuàng)建表 EMPLOYEE_代碼如下:#!/usr/bin/pythonencoding: utf-8 import MySQLdb打開數(shù)據(jù)庫連接db = MySQLdb.connect(localhost,root,361way,test)使用cursor()方法獲取操作游標(biāo)cursor = db.cursor()如果數(shù)據(jù)表已經(jīng)存在使用execute。 方法刪除表。cursor.execute(DROP TABLE IF EXISTS EMPLOYEE)創(chuàng)建數(shù)據(jù)表SQL句sql = CREATE

溫馨提示

  • 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

提交評論