Python教案 - 教學設計.doc
《Python教案 - 教學設計.doc》由會員分享,可在線閱讀,更多相關《Python教案 - 教學設計.doc(116頁珍藏版)》請在裝配圖網(wǎng)上搜索。
_ 時間:課題程序設計基礎-緒論教學目標1. 了解程序設計語言的發(fā)展歷史2. 理解Python語言的特點及其重要性3. 掌握Python語言Hello程序的編寫方法4. 掌握Python語言開發(fā)的運行環(huán)境的配置教學重點Python語言的特點及其重要性Python語言開發(fā)的運行環(huán)境的配置教學難點Python語言開發(fā)的運行環(huán)境的配置主要教法講授演示法+上機操作教學過程一、新課導入1. 計算機的定義: 能夠根據(jù)指令操作數(shù)據(jù)的設備 計算機的兩個特性 功能性 可編程性 計算機的可編程性需要通過程序設計來體現(xiàn) 2. 程序設計語言:計算機能夠理解和識別操作的一種交互體系 l 程序設計語言的種類 l 機器語言 l 匯編語言 l 高級語言 l 常用的程序設計語言 高級語言的執(zhí)行方法 靜態(tài)語言:編譯執(zhí)行 腳本語言:解釋執(zhí)行 編譯和解釋的區(qū)別 編譯:一次性的翻譯,需對目標代碼優(yōu)化 解釋:每次運行都需要 編譯:源代碼(高級語言)轉(zhuǎn)換成目標代碼(機器語言) l 解釋:源代碼逐條轉(zhuǎn)化成目標代碼同時逐條運行目標代碼的過程 編譯的好處 目標代碼執(zhí)行速度更快 目標代碼在相同操作系統(tǒng)上使用靈活 解釋的好處 便于維護源代碼 良好的可移植性 Python語言:將解釋器和編譯器結(jié)合的腳本語言 計算機已成為普通工具 學會編程:滿足感和安全感 C/C+等語言:復雜 Python語言:充滿快樂和創(chuàng)造性的全新旅程 3. Python語言概述 Python語言的歷史 誕生于 1989年,已有25年,達到成熟期 2000年, Python 2.0, 2,.7.6 2008年, Python 3.0, 3.4.x Python語言的特點 強制縮進保證可讀性 不需要主函數(shù) 可以同時被解釋和編譯執(zhí)行 語言簡潔 編程模式靈活(面向過程和面向?qū)ο螅?4. Python語言的開發(fā)環(huán)境配置 安裝Python運行環(huán)境 到Python主頁下載并安裝Python基本開發(fā)和運行環(huán)境,網(wǎng)址: http:/www.python.org/download/ 根據(jù)操作系統(tǒng)選擇不同版本 下載相應的Python 2.7.6版本程序,跟隨提示安裝 使用Python運行環(huán)境 方法一:啟動Windows命令行工具,輸入python,在后輸入Python語句,如圖所示輸入exit()或quit()退出 方法二:調(diào)用已安裝的IDLE來啟動Python運行環(huán)境, 方法三:按照語法格式編寫代碼,保存為文件,例如源文件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上的配置方法類似 5. Hello程序 你的第一個程序:在屏幕上打印出“Hello World” print “Hello World” 表示將引號中的信息輸出到屏幕上 顯示效果如下:二、上機練習首先進行Python的安裝與開發(fā)環(huán)境配置,接著完成第一個程序 “Hello World”三、本課小結(jié)計算機的基本概念程序設計語言分類編譯和解釋Python語言概述Python的Hello程序編寫及開發(fā)環(huán)境配置課后反思時間:課題Python 程序語言入門教學目標 讓學生了解什么是編程及對編程提起濃厚的學習興趣;Python Shell、GUI和Prompt(提示符)的理解;學會與Python交互的方法,print指令;新建程序文本文檔、運行程序的方法、保存時需要注意什么;學會怎樣去查詢程序的錯誤;教學重點讓學生對編程提起濃厚的興趣;print指令的運用;識別和修正程序的錯誤。教學難點識別和修正程序的錯誤;主要教法講授演示法+上機操作教學過程1、 復習鞏固1、什么是編程?2、Python我們和計算機溝通的語言所想要表達編程軟件翻計算機接收的意思譯成二進制并執(zhí)行常用、最流行的幾種程序語言:C、C+、C#、Java、VB、python3、 Python可以用來做什么開發(fā)游戲軟件(游戲后臺大多數(shù)用python編寫);制作更高級的Flash(web flash game);創(chuàng)建數(shù)據(jù)庫;黑客 hacker(遠程攻擊計算機、破解硬件or軟件);發(fā)明變形金剛(2006年日本FANUC推出的人工智能機器人);學習其他語言的基礎(所有程序語言都有共同性,學好python能夠讓你快人一步的理解其他程序語言);python幾乎無所不能。= 當然不是每一個學習python的人都能成功 = 但是學習python你將獲利以下幾點 = 讓你的思維更加敏捷! 讓你變的知識淵博! 讓你學習更多的英文!= 也有可能帶來一些“負面影響” = 你的皮膚會變得粗糙 _ 叫做提示符(Prompt),指程序正在等待你鍵入信息時顯示的符號。3、 來點指令吧! print “Hey man!” 回車(每輸入完一行指令都要輸入回車以跳轉(zhuǎn)到下一行)Print打印(命令),指在屏幕上顯示文本,而不是常說的用打印機打印在紙上。!注意 顏色錯誤 print 5 + 38 計算機非常擅長算術(shù)運算,計算機被創(chuàng)造出來的初期就是被用來數(shù)據(jù)計算。再試一條指令! print 5 * 315= Mr.Lee TIPS =幾乎所有計算機程序和語言中都使用 * 符號作為乘號。這個符號稱作“星號”或“星”。=口算計算器python三者進行對比吧=口算:Print 5 * 3計算器:Print 98765431 - 9876543Python:Print 4548754875157512154515421 * 544451484484121512157=口算計算器python三者進行對比吧=利用python你除了可以超大數(shù)的數(shù)學計算之外,你還可以做些令人意想不到的事情,例如: print “Dog” + “ brother”Dog brother或者 print “where is plane ” * 20where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane where is plane 計算機除了非常擅長運算外,另一件事情就是反復的做事情,重要的是它不會感到枯燥,就像上面我讓計算機喊了20句 where is plane ,如果你高興可以讓它喊到直到MH370出現(xiàn),前提是馬航要給力還有就是不要停電5、 編程任務到目前為止,我們只是看到單個python指令的演示,其實程序就是多個指令的集合。1、 創(chuàng)建程序的方法:a.通過Python Shell菜單欄 File New Windows創(chuàng)建;b.快捷鍵:Ctrl + N。*新程序窗口標題欄顯示“Untitled”(未命名)。如何給程序取名字?2、程序1我們的第一個程序“我愛吃香蕉”print “我愛吃香蕉!”print “香蕉 ” * 20print “mua ” * 40print “我吃撐了!”3、 保存/另存(命名)你的程序文檔 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運行時錯誤“我愛大鱷魚” 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 concatenate str and int objects(python認為可能存在的問題,并不一定是在這里,但是會在這附近)= 思考 =為嘛print “鱷魚 ” * 5可以,print “鱷魚 ” + 5卻不行?= 解惑 =聽我說,這有點像將蘋果和鱷魚放在一起,在python中不能將兩個完全不同的東西放在一起,比如說數(shù)字(int)和文本(str)。“鱷魚 ”+ 5像是在說5個蘋果和3只鱷魚相加等于多少?結(jié)果是8,但是8個什么?完全沒有意義。不過幾乎所有東西都可以乘以一個數(shù)來翻倍,如果你有1只鱷魚,再乘以5,那么你就會有5只鱷魚?。寺〈髞y斗!)。7、 第二個程序任務第一個程序“我愛吃香蕉!”沒多大實際意義,僅僅只是在屏幕上打印了一些內(nèi)容,下面我們來是一個更加有意思的程序,記得給它取上一個名字,“NumGuess”是個不錯的名字。File New Windows Save “NumGuess.py”輸入以下代碼:=#encoding=GBK#import randomsecret = random.randint(1, 100)guess = 0tries = 0print 你好,同學我和你們班主任之間有一個秘密?。縫rint 這個秘密就在1-99之間的一個數(shù)字。 我會給你6次機會來猜這個數(shù)字,猜對你就可以獲贈加多寶一罐! while guess !=secret and tries 6: guess = input(來猜個數(shù)字吧??? ) if guess secret: print 太高了喔! tries = tries + 1if guess = secret: print 哦也!你猜中這個數(shù)字了!那么加多寶的話,請出門左拐找你們蔣老師!else: print 我不會給你更多機會了,同學!你現(xiàn)在得請我喝一瓶王老吉! print 這個秘密數(shù)字就是, secret=程序解析:while、 if 、 else、elif 和 input 指令我們在以后會詳細的學到。程序概念點: 由程序隨機選取秘密數(shù)。 用戶輸入他猜的數(shù)。 程序根據(jù)秘密數(shù)檢查用戶猜的結(jié)果:太大還是太??? 用戶不斷嘗試,直到猜出這個數(shù),或者用完所有機會。 猜到的數(shù)與秘密數(shù)一致時,玩家獲勝。 教學過程結(jié)束。課堂小結(jié): 學會了如何啟動IDLE; 了解了交互模式; 交給 Python 一些指令來執(zhí)行; 看到了 Python 知道如何完成算術(shù)運算(包括非常大的數(shù)) ; 啟動 IDLE 文本編輯器鍵入你的第一個程序:我愛吃香蕉; 運行你的第一個 Python 程序; 了解如何查看錯誤消息; 運行你的第二個 Python 程序:猜數(shù)游戲。課堂練習 之 用腦想一想:1. 如何啟動IDLE?2. print 的作用是什么?3. Python 中表示乘法和除法的符號是什么?4. GUI 的特性包括哪些?5. 如果想要你的程序支持中文,需要做什么?課堂練習 之 動手做一做:1. 在交互模式中,使用 Python 計算一周有多少分鐘。2. 編寫一個簡短的小程序,打印 3 行:你的名字、出生日期,還有你最喜歡的顏色。(結(jié)果應該是下面這樣)我的名字叫XX,我是XX運動隊的。我 1988 年 08 月 20 日出生。我最喜歡的顏色是粉紅色。課后反思時間:課題判斷循環(huán)教學目標掌握if語句:單分支、雙分支、多分支、嵌套完成條件語句實例:登錄認證模塊學會判斷輸入是否合法了解三元表達式掌握range()掌握循環(huán)語句掌握for語句掌握while掌握break、continue、pass完成循環(huán)語句實例:登錄認證模塊擴展教學重點掌握if語句:單分支、雙分支、多分支、嵌套了解三元表達式掌握range()掌握循環(huán)語句掌握for語句掌握while掌握break、continue、pass教學難點完成條件語句實例:登錄認證模塊完成循環(huán)語句實例:登錄認證模塊擴展主要教法講授演示法+上機操作教學過程一、新課講授1. 掌握if語句a) 單分支if 表達式:代碼塊1else:代碼塊b) 雙分支if 表達式1: 代碼塊1elif 表達式2:代碼塊2c) 多分支if 表達式1: 代碼塊1elif 表達式2:代碼塊2else:代碼塊_其他d) 嵌套2. 了解三元表達式Expression1 if boolean_expression else Expression2 如果滿足條件A大于B,則max值為A,反之max為B如:max=A if AB else B例如:3. 掌握range()range():產(chǎn)生整數(shù)序列例:range(n):產(chǎn)生從0開始,到n的數(shù)字序列,不包括n。range(m,n):產(chǎn)生從m開始,到n的數(shù)字序列,不包括n。range(m,n,k):產(chǎn)生從m開始,到n,增量為k的數(shù)字序列,不包括n。4. 掌握循環(huán)語句a) 掌握for語句語法格式:for expression1 in iterable:for_suiteelse:else_suite例如:結(jié)果:b) 掌握whilec) 掌握break、continue、pass1.1 語法結(jié)構(gòu):while boolean_expression:while_suiteelse:else_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 例如:break:跳出所處的最近層循環(huán)continue:跳到所處的最近層循環(huán)的開始處pass:占位語句例如:執(zhí)行結(jié)果:二、上機練習1. 條件語句實例:登錄認證模塊a) 判斷輸入是否合法b) 非法用戶提示警告信息c) 合法用戶提示登錄成功username = raw_input(username:)if username = :print 用戶名不能為空else:print 0331;33;45m登錄成功,歡迎%s0330m%usernamechr()ord()2. 循環(huán)語句實例:登錄認證模塊擴展a) 直接回車無效,繼續(xù)輸入b) 驗證用戶身份是否合法三、課堂小結(jié)if語句:單分支、雙分支、多分支、嵌套、三元表達式、range()、循環(huán)語句、for語句、while、break、continue、pass登錄認證模塊展示課后反思時間:課題python序列-字符串教學目標了解序列類型常用操作了解索引和切片掌握類型轉(zhuǎn)化掌握強制類型轉(zhuǎn)化學會字符串轉(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()教學重點了解序列類型常用操作了解索引和切片掌握類型轉(zhuǎn)化掌握強制類型轉(zhuǎn)化教學難點學會字符串轉(zhuǎn)換實例主要教法講授演示法+上機操作教學過程一、新課講授1. 序列類型常用操作a) 索引和切片1.1.1 索引:例:s0從左向右:索引從0開始;從右向左:索引從-1開始1.1.2 切片:例:s0:21.1.3 擴展切片:指定步長,例:s0:9:2b) 掌握類型轉(zhuǎn)化格式:print “字符串 %format1 %format2” % (變量或值1,變量或值2.)符號及其對應輸出格式:%d或%i十進制整數(shù)或長整數(shù)%f浮點數(shù)%s字符串%用于輸出符號%舉例:c) 強制類型轉(zhuǎn)化int():強制轉(zhuǎn)換為整型,例如:注意:只能將由數(shù)字組成的字符串轉(zhuǎn)換為整型錯誤用法float():強制轉(zhuǎn)換為浮點型例如str():強制轉(zhuǎn)換為字符串例如:2. 掌握字符串常用方法s.find(t):查找子串t,找到返回最小的索引值,找不到則返回-1s.join(iter) 使用s作為連接符連接序列iter中所有元素如:list2=h,e,l,l,o, .,c,o,m“”.join(list2)s.replace(old,new):替換s.split(sep):使用sep作為分割符,列表返回結(jié)果。如:str=”www.baidu.com”str.split(.) 得到www ,baidu,com序列s. strip(t): 刪掉開頭和結(jié)尾的字符t如:刪除空白符 s1.strip()s. index(t):子串t首次出現(xiàn)的位置,找不到報錯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)化為大寫字母/小寫字母,大小寫互換s.count(t) 統(tǒng)計t出現(xiàn)的次數(shù)二、上機練習a) 字符串轉(zhuǎn)換實例:格式化輸出菜單列表;將用戶的輸入數(shù)值轉(zhuǎn)化整型并驗證三、本課小結(jié)序列類型常用操作、索引和切片、類型轉(zhuǎn)化、強制類型轉(zhuǎn)化、字符串常用方法學生展示:字符串轉(zhuǎn)換實例課后反思時間:課題python列表和元祖教學目標掌握列表基礎知識掌握列表相關方法掌握序列類型操作掌握生成器掌握元組類型掌握元組相關方法教學重點掌握列表相關方法掌握序列類型操作掌握生成器掌握元組類型教學難點掌握列表相關方法掌握元組相關方法主要教法講授演示法+上機操作教學過程一、新課講授1. 掌握列表基礎知識1.1 列表的特點:支持異構(gòu):一個列表中含不同類型的對象支持嵌套:即列表中的元素可以是列表可變:支持通過索引,切片,進行修改1.2 如何定義列表:方法一:;例:list1=1,3,5方法二:使用內(nèi)置函數(shù)list(): 內(nèi)建函數(shù)list(a_sequence) 可以將一個序列轉(zhuǎn)為列表例1: str1=dddgf list1=list(str1) list1d, d, d, g, f例2:(后面講) tuple1=(1,2,1) list1=list(tuple1) list11, 2, 1例3:2. 掌握列表相關方法:2.1 append():向列表中追加元素例如:2.2 extend():追加可迭代對象中所有元素例1:list2=1,2,3list3=list3.extend(list2) 例22.3 insert():在指定索引位置插入列表也支持索引,例如:插入例子:2.4 pop():按照索引彈出元素,返回值為該元素。默認彈出最后一個元素。例如:2.5 remove():按照元素值彈出第一個匹配項例如:2.6 count():統(tǒng)計指定值出現(xiàn)的次數(shù)2.7 index():某個值第一次出現(xiàn)的位置例如:2.8 reverse():反向存放例如:2.9 查詢遍歷:for I in listfor i,k enument(list)2.10 sort():排序3. 掌握序列類型操作:序列類型包括:字符串、列表、元組3.1 +連接*重復例如:3.2 max():求最大值、min():求最小值例如:4. 掌握列表生成式列表生成式,是Python內(nèi)置的一種極其強大的生成list的表達式。4.1 用于:基于已有列表生成新列表4.2 語法結(jié)構(gòu):列表生成式的書寫格式:x*x for x in range(1 , 11)第一:把要生成的元素 x*x 放到前面第二:后面跟上for循環(huán)這樣就可以把list創(chuàng)建出來。for循環(huán)后面還可以加上if判斷4.3 舉例:1到10之間的偶數(shù)平方再除以2 作為新列表元素1到10之間的偶數(shù),作為新列表元素4.4 特點:一次性生成新列表,如果列表數(shù)據(jù)過大,會消耗大量資源。1. 掌握元組類型1.1 定義元組:方法一:()例:tuple1=(1,3,4)方法二:使用內(nèi)置函數(shù)tuple():將可迭代對象中所有元素作為元組元素例: list1=1,2,3 t1=tuple(list1) t1(1, 2, 3)1.2 元組的特點支持異構(gòu);支持嵌套;不可變:不支持通過索引、切片,進行修改2. 元組的遍歷例如:3. 掌握元組相關方法index():返回指定元素第一次出現(xiàn)的索引位置count():指定元素出現(xiàn)的次數(shù)例如:二、上機練習練習:三、本課小結(jié)列表基礎知識、列表相關方法、序列類型操作、生成器、元組類型、元組相關方法學生完成實例操作課后反思時間:課題運維平臺計算機管理實例教學目標登錄模塊實現(xiàn)添加計算機刪除計算機查詢可管理計算機教學重點登錄模塊實現(xiàn)教學難點查詢可管理計算機主要教法講授演示法+上機操作教學過程一、學習任務運維平臺計算機管理實例 任務要求與注意事項二、上機練習學生上機實操:提示:三、任務展示與評價學生進行展示,完成互評與老師點評項目分值評價標準得分自評組評師評程序設計20編程技巧30調(diào)試過程運行結(jié)果30搭建合理穩(wěn)固小組配合20小組成員分工及配合方面總體得分課后反思時間:課題python字典和集合教學目標掌握字典類型掌握字典相關方法掌握字典的遍歷掌握集合類型掌握集合相關方法教學重點掌握字典相關方法掌握字典的遍歷掌握集合類型教學難點掌握字典的遍歷掌握集合相關方法主要教法講授演示法+上機操作教學過程一、新課講授1. 掌握字典類型a) 字典的特點無序: 通過鍵實現(xiàn)元素存取,故無序可變:可以通過鍵進行改變異構(gòu):支持多種數(shù)據(jù)類型嵌套:可以在鍵值對中的值部分出現(xiàn)字典b) 定義字典:ii. 方法一:key1:value1,key2:value2,.iii. 方法二:dict()內(nèi)置函數(shù):指定鍵值例:d2=dict(name=jerry,age=45,gender=m)iv. 關鍵點: 鍵與值用冒號“:”分開; 項與項用逗號“,”分開; 字典中的鍵必須是唯一的,而值可以不唯一2. 掌握字典相關方法2.1 更新或添加元素:dict1key = value例如:2.2 items():變量解包:即將字典轉(zhuǎn)化為鍵、值作為元組的列表例如:2.3 keys();鍵列表例如:2.4 values():值列表例如:2.5 has_key():判斷是否存在某個鍵,返回結(jié)果true 或false例如:2.6 del 刪除元素:調(diào)用python自身函數(shù)刪除例如:2.7 len():取得字典中鍵值對個數(shù)例如:2.8 update():在原字典上合并字典,鍵相同時會被覆蓋。例如:2.9 get():取得某個鍵對應的值例如:2.10 pop():彈出指定鍵對應的值2.11 popitem():隨機彈出鍵值對2.12 clear():清除所有元素例如:3. 掌握字典的遍歷:4. 掌握集合類型4.1 什么是集合無序、互異,4.2 集合的功能及特點支持成員關系判斷支持迭代不支持索引,切片元素唯一4.3 定義集合set方法一:元素方法二:內(nèi)置函數(shù)set()例:5. 集合相關方法:5.1 len():元素個數(shù)例如:5.2 add():添加元素例如:5.3 remove():刪除元素例如:5.4 update():合并集合例如:5.5 pop():隨機彈出某個元素例如:5.6 集合關系操作5.6.1 s|t:s和t的并集例如:5.6.2 s&t:s和t的交集例如:5.6.3 s-t:求差集,存在于s集合而不存在于t集合中的例如:5.6.4 st:求對稱差集例如:二、上機練習學生上機完成字典類型、字典相關方法、字典的遍歷、集合類型、集合相關方法的案例練習。三、本課小結(jié)字典類型、字典相關方法、字典的遍歷、集合類型、集合相關方法課后反思時間:課題python文件處理教學目標掌握如何創(chuàng)建文件對象掌握open()三種基本模式掌握open()的附加模式掌握文件對象的相關方法掌握文件對象的相關屬性教學重點掌握如何創(chuàng)建文件對象掌握open()三種基本模式掌握open()的附加模式教學難點掌握文件對象的相關方法掌握文件對象的相關屬性主要教法講授演示法+上機操作教學過程一、新課講授1. 掌握如何創(chuàng)建文件對象a) 內(nèi)置函數(shù)open()同file() :用于打開文件和創(chuàng)建文件對象,返回文件對象b) with 打開文件:with open(password) as f : #f = file(password)c) 語法格式:open(文件名,模式)例如:2. 掌握open()三種基本模式a) r:只讀,如果文件不存在,會發(fā)生異常例:b) w:寫入(覆蓋原有內(nèi)容),如果文件不存在,會創(chuàng)建文件i. 例1:password文件內(nèi)容不為空,以w模式打開:結(jié)果:ii. 創(chuàng)建passwd文件c) a:附加(從文件尾部追加),如果文件不存在,會創(chuàng)建文件例如:3. 掌握open()的附加模式a) +:表示同時支持讀寫aab) a+ 可讀寫模式,寫只能寫在文件末尾處c) w+ 可讀寫,與a+的區(qū)別是要清空文件內(nèi)容d) r+ 可讀寫,與a+的區(qū)別是可以寫到文件任何位置4. 掌握文件對象的相關方法readline():返回一行readlines():列表類型返回所有行內(nèi)容read():指定從文件讀取多少字節(jié),不指定字節(jié)數(shù)則讀取全部內(nèi)容,以字符串形式顯示。tell():當前指針在文件中的位置(多少個字節(jié)的位置)seek():定義文件指針的偏移量 f.seek(偏移量, 選項)write():將字符串寫入文件writelines():將字符序列寫入flush():刷新,將數(shù)據(jù)從緩存區(qū)寫入文件sldkjalsjaslkjdclose():關閉文件例如:例2:5. 掌握文件對象的相關屬性mode:文件打開模式name:返回文件名closed:顯示文件是否已關閉掉例如:二、上機練習學生上機完成創(chuàng)建文件對象、open()三種基本模式、open()的附加模式、文件對象的相關上機練習,熟練完成Python創(chuàng)建文件對象的方法。三、本課小結(jié)如何創(chuàng)建文件對象、open()三種基本模式、open()的附加模式、掌握文件對象的相關方法掌握文件對象的相關屬性課后反思時間:課題函數(shù)式編程一教學目標掌握什么是函數(shù)掌握函數(shù)的定義掌握函數(shù)的調(diào)用掌握函數(shù)形參和實參的區(qū)別了解函數(shù)的作用域:什么是作用域、作用域分類掌握函數(shù)的參數(shù):默認參數(shù)、關鍵字參數(shù)、可變參數(shù)教學重點掌握函數(shù)的調(diào)用掌握函數(shù)形參和實參的區(qū)別教學難點了解函數(shù)的作用域:什么是作用域、作用域分類掌握函數(shù)的參數(shù):默認參數(shù)、關鍵字參數(shù)、可變參數(shù)主要教法講授演示法+上機操作教學過程一、新課講授1. 掌握什么是函數(shù) function 功能 def 函數(shù)是python為了代碼重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu)。函數(shù)將相關功能打包并參數(shù)化,將復雜的系統(tǒng)分解成可管理的部件。2. 掌握函數(shù)的定義在這里說明幾點: 在Python中采用def關鍵字進行函數(shù)的定義,不用指定返回值的類型。 函數(shù)參數(shù)params可以是零個、一個或者多個,同樣的,函數(shù)參數(shù)也不用指定參數(shù)類型,因為在Python中變量都是弱類型的,Python會自動根據(jù)值來維護其類型。 return語句是可選的,它可以在函數(shù)體內(nèi)任何地方出現(xiàn),表示函數(shù)調(diào)用執(zhí)行到此結(jié)束;如果沒有return語句,會自動返回NONE,如果有return語句,但是return后面沒有接表達式或者值的話也是返回NONE。下面看例子:例1:例2:例3:3. 掌握函數(shù)的調(diào)用函數(shù)調(diào)用的方法:函數(shù)名(實際參數(shù))在Python中不允許前向引用,即在函數(shù)定義之前,不允許調(diào)用該函數(shù)例如下面的錯誤:4. 掌握函數(shù)形參和實參的區(qū)別4.1 形參全稱是形式參數(shù),在用def關鍵字定義函數(shù)時函數(shù)名后面括號里的變量稱作為形式參數(shù)。4.2 實參全稱為實際參數(shù),在調(diào)用函數(shù)時提供的值或者變量稱作為實際參數(shù)例如:5. 了解函數(shù)的作用域5.1 什么是作用域變量的作用域:即變量能夠使用的范圍5.2 作用域分類5.2.1 本地作用域:定義在函數(shù)體內(nèi)的變量(局部變量)在Python中,會為每個層次生成一個符號表,里層能調(diào)用外層中的變量,而外層不能調(diào)用里層中的變量,并且當外層和里層有同名變量時,外層變量會被里層變量屏蔽掉,例如:在函數(shù)function中,while循環(huán)外面和while循環(huán)里面都有變量x,此時,while循環(huán)外面的變量x會被屏蔽掉。注意在函數(shù)內(nèi)部定義的變量作用域都僅限于函數(shù)內(nèi)部,在函數(shù)外部是不能夠調(diào)用的,一般稱這種變量為局部變量。5.2.2 全局作用域:定義在主程序的變量(全局變量)它是在函數(shù)外部定義的,作用域是整個文件。全局變量可以直接在函數(shù)里面應用,但是如果要在函數(shù)內(nèi)部改變?nèi)肿兞浚仨毷褂胓lobal關鍵字進行聲明6. 掌握函數(shù)的參數(shù)6.1 默認參數(shù):定義函數(shù)時,“name=value”的形式設置參數(shù)默認值在Python中默認的是采用位置參數(shù)來傳參。這樣調(diào)用函數(shù)必須嚴格按照函數(shù)定義時的參數(shù)個數(shù)和位置來傳參,從左至右進行匹配,否則將會出現(xiàn)預想不到的結(jié)果調(diào)用函數(shù)時默認參數(shù)放后邊6.2 關鍵字參數(shù): 調(diào)用函數(shù)時,使用“name=value”的形式通過參數(shù)名指定通過指定參數(shù)名字傳遞參數(shù)的時候,參數(shù)位置對結(jié)果是沒有影響的。關鍵字參數(shù)最厲害的地方在于它能夠給函數(shù)參數(shù)提供默認值, 參數(shù)指定了默認值后,如果傳參時不指定參數(shù)名,則會從左到右依次進行傳參,關鍵參數(shù)要放在普通參數(shù)后面。例如:6.3 可變參數(shù)6.3.1 例1:*args,我們要定義一個函數(shù)的時候,必須要預先定義這個函數(shù)需要多少個參數(shù)(或者說可以接受多少個參數(shù))。一般情況下這是沒問題的,但是也有在定義函數(shù)的時候,不能知道參數(shù)個數(shù)的情況在Python里,帶*的參數(shù)就是用來接受可變數(shù)量參數(shù)的,這里接收的是元組數(shù)據(jù)6.3.2 例2:*kwargs, 字典作為參數(shù):定義函數(shù)時使用*開頭的參數(shù),調(diào)用時使用“name=value”的形式,作為傳遞進來字典的鍵值對二、上機練習學生上機完成函數(shù)式編程任務,教師巡視指導。三、本課小結(jié)什么是函數(shù)函數(shù)的定義函數(shù)的調(diào)用函數(shù)形參和實參的區(qū)別函數(shù)的作用域:什么是作用域、作用域分類函數(shù)的參數(shù):默認參數(shù)、關鍵字參數(shù)、可變參數(shù)課后反思時間:課題函數(shù)式編程二教學目標遞歸函數(shù)掌握lambda表達式enumerate函數(shù)序列化yield函數(shù)(迭代)裝飾器教學重點遞歸函數(shù)教學難點掌握lambda表達式enumerate函數(shù)序列化yield函數(shù)(迭代)主要教法講授演示法+上機操作教學過程一、新課講授1. 遞歸函數(shù):在函數(shù)內(nèi)部,可以調(diào)用其他函數(shù)。如果一個函數(shù)在內(nèi)部調(diào)用自身本身,這個函數(shù)就是遞歸函數(shù);例1例22. 掌握lambda表達式2.1 lambda函數(shù)也叫匿名函數(shù),即,函數(shù)沒有具體的名稱,而用def創(chuàng)建的方法是有名稱的2.2 語法:lambda 參數(shù) : 表達式lambda語句中,冒號前是參數(shù),可以有多個,用逗號隔開,冒號右邊的返回值。lambda語句構(gòu)建的其實是一個函數(shù)對象2.3 舉例:f1=lambda x,y:x+y f1(2,3)2.4 和map函數(shù)共同使用:Map()第一個參數(shù)接收一個函數(shù)名,第二個參數(shù)接收一個可迭代對象例如:Lambda和map共同使用3. enumerate函數(shù)用于遍歷序列中的元素以及它們的下標4. yield函數(shù):yield 的作用就是把一個函數(shù)變成一個 generator,帶有 yield 的函數(shù)不再是一個普通函數(shù),Python 解釋器會將其視為一個 generator例如:5. 裝飾器5.1 裝飾器就是為已經(jīng)存在的對象添加額外的功能。比如1:例如2:其中語法糖:相當于 run = login(run)二、上機練習學生上機完成本節(jié)函數(shù)式編程任務,教師巡視指導。三、本課小結(jié)遞歸函數(shù)掌握lambda表達式enumerate函數(shù)序列化yield函數(shù)(迭代)裝飾器課后反思時間:課題常用模塊一教學目標了解什么是模塊了解模塊和文件掌握導入模塊:模塊搜索路徑、import語句導入模塊、from 語句導入模塊os模塊及方法:系統(tǒng)相關、目錄相關、路徑相關、文件相關、查詢相關教學重點了解模塊和文件教學難點掌握導入模塊os模塊及方法:主要教法講授演示法+上機操作教學過程一、新課講授1. 了解什么是模塊模塊是一個包含定義的變量,函數(shù)和類的文件,其后綴名是.py。模塊可以被其他程序?qū)?,以使用該模塊中的變量,函數(shù)和類。2. 了解模塊和文件2.1 if _name_ =_main_:print xxxx2.1.1 如果作為程序文件獨立執(zhí)行,_name_變量值為_main_,則執(zhí)行if _name_ =_main_:后的語句。2.1.2 如果作為模塊導入其他文件,_name_變量值為模塊名,則不執(zhí)行if _name_ =_main_:后的語句,在導入進的文件中調(diào)用時才對應執(zhí)行。3. 掌握導入模塊1.1 模塊搜索路徑:import sysprint sys.path 查看以列表顯示的搜索路徑例如:1.2 import語句導入模塊import module 導入模塊import module as module_alias 以別名導入模塊1.3 from 語句導入模塊from modules import names 導入模塊的指定屬性或方法4. 掌握os模塊常用方法(實現(xiàn)跨平臺的操作系統(tǒng)應用接口)4.1 指示正在使用的平臺;如果是window 則用nt表示,對于Linux/Unix用戶,它是posix例如:4.2 調(diào)用系統(tǒng)命令的方法4.2.1 os.system():調(diào)用操作系統(tǒng)的命令;例如 4.2.2 os.popen()調(diào)用系統(tǒng)命令,但結(jié)果是返回對象例如:4.3 目錄相關的方法:4.3.1 getcwd():查看當前目錄。即python腳本工作的目錄路徑;例如:4.3.2 chdir():切換目錄;例如:4.3.3 os.walk():遍歷目錄樹walk(top,topdown=True,onerror=None)4.3.4 listdir():列出指定目錄下文件及子目錄;如:顯示c盤文件和目錄:4.3.5 mkdir():創(chuàng)建目錄;如:4.3.6 makedirs( ):創(chuàng)建多層級目錄;如:4.3.7 rmdir():刪除空目錄;例如:4.3.8 removedirs():刪除多層級空目錄;例如:4.4 路徑相關的方法:4.4.1 os.path.split():函數(shù)返回一個路徑的目錄名和文件名;例如:4.4.2 os.path.abspath(name):獲得絕對路徑;如:4.4.3 os.path.splitext():分離文件名與擴展名,例如:4.4.4 os.path.join(path,name):連接目錄與文件名或目錄,例如:4.4.5 os.path.ba- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- Python教案 教學設計 Python 教案 教學 設計
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-1532918.html