《Python教案 - 教學設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《Python教案 - 教學設(shè)計.doc(116頁珍藏版)》請在裝配圖網(wǎng)上搜索。
______________________________________________________________________________________________________________
時間:
課題
程序設(shè)計基礎(chǔ)--緒論
教
學
目
標
1. 了解程序設(shè)計語言的發(fā)展歷史
2. 理解Python語言的特點及其重要性
3. 掌握Python語言Hello程序的編寫方法
4. 掌握Python語言開發(fā)的運行環(huán)境的配置
教學重點
Python語言的特點及其重要性
Python語言開發(fā)的運行環(huán)境的配置
教學難點
Python語言開發(fā)的運行環(huán)境的配置
主要教法
講授演示法+上機操作
教 學 過 程
一、新課導入
1. 計算機的定義:
能夠根據(jù)指令操作數(shù)據(jù)的設(shè)備
? 計算機的兩個特性
– 功能性
– 可編程性
? 計算機的可編程性需要通過程序設(shè)計來體現(xiàn)
2. 程序設(shè)計語言:計算機能夠理解和識別操作的一種交互體系
l 程序設(shè)計語言的種類
l 機器語言
l 匯編語言
l 高級語言
l 常用的程序設(shè)計語言
? 高級語言的執(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)選擇不同版本
– 下載相應(yī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é)
計算機的基本概念
程序設(shè)計語言分類
編譯和解釋
Python語言概述
Python的Hello程序編寫及開發(fā)環(huán)境配置
課后
反思
時間:
課題
Python 程序語言入門
教
學
目
標
? 讓學生了解什么是編程及對編程提起濃厚的學習興趣;
·Python Shell、GUI和Prompt(提示符)的理解;
·學會與Python交互的方法,print指令;
·新建程序文本文檔、運行程序的方法、保存時需要注意什么;
·學會怎樣去查詢程序的錯誤;
教學重點
·讓學生對編程提起濃厚的興趣;
·print指令的運用;
·識別和修正程序的錯誤。
教學難點
·識別和修正程序的錯誤;
主要教法
講授演示法+上機操作
教 學 過 程
1、 復習鞏固
1、什么是編程?
2、Python-我們和計算機溝通的語言
所想要表達 編程軟件翻 計算機接收
的意思 譯成二進制 并執(zhí)行
常用、最流行的幾種程序語言:C、C++、C#、Java、VB、python
3、 Python可以用來做什么
·開發(fā)游戲&軟件(游戲后臺大多數(shù)用python編寫);
·制作更高級的Flash(web flash game);
·創(chuàng)建數(shù)據(jù)庫;
·黑客 hacker(遠程攻擊計算機、破解硬件or軟件);
·發(fā)明變形金剛(2006年日本FANUC推出的人工智能機器人);
·學習其他語言的基礎(chǔ)(所有程序語言都有共同性,學好python能夠讓你快人一步的理解其他程序語言);
·python幾乎無所不能。
======== 當然不是每一個學習python的人都能成功 ========
======== 但是學習python你將獲利以下幾點 ========
√ 讓你的思維更加敏捷!
√ 讓你變的知識淵博!
√ 讓你學習更多的英文!
============ 也有可能帶來一些“負面影響” ===========
× 你的皮膚會變得粗糙 >_<
× 你可能會變成一枚宅男 ╯□╰
× 花500元買一副眼鏡 ⊙﹏⊙
2、 上機操作從IDLE啟動python
1、通過開始菜單; 好比三種 第一種:2B青年
三種方法 2、通過快捷方式; 第二種:普通青年
3、通過快捷鍵; 網(wǎng)絡(luò)青年 第三種:文藝青年
·窗口標題欄的文字“Python Shell”-中文意思是“python的外殼”,是作為用戶輸入文本與程序交互途徑的一種。
·整個窗口被叫做“GUI”-中文意思是“圖形用戶界面”,GUI的特性是包含:窗口、菜單、按鈕、滾動條等。沒有這些特性的程序叫做text-mode(文本模式程序)、command line(命令行程序)
*提問:平時在使用電腦時有沒有遇見過帶有GUI的程序和text-mode、command line?(答案:windows窗口 DOS)
·>>> -叫做提示符(Prompt),指程序正在等待你鍵入信息時顯示的符號。
3、 來點指令吧!
>>> print “Hey man!” 回車(每輸入完一行指令都要輸入回車以跳轉(zhuǎn)到下一行)
Print-打印(命令),指在屏幕上顯示文本,而不是常說的用打印機打印在紙上。
!!注意 >>顏色<< 注意??!
問:IDEL里為什么會有這些奇妙的顏色呢?
答:IDLE為了幫助我們更好的理解和閱讀這些內(nèi)容,會用不同的顏色來區(qū)分代碼(code)不同的部分,print 的顏色就是橙色。
!!注意 >>錯誤<< 注意!!
問:SyntaxError: invalid syntax是個什么東西?
答:直譯“語法錯誤:無效的語法”,表示python不懂你輸入的內(nèi)容,因為print被錯誤的拼成了point。
4、 與python交互
我們剛剛執(zhí)行的第一條指令:hey man,就是在和python交互,這種輸入代碼與計算機交流的過程就叫做交互。
多試一條指令!
>>> print 5 + 3
8
>>>
計算機非常擅長算術(shù)運算,計算機被創(chuàng)造出來的初期就是被用來數(shù)據(jù)計算。
再試一條指令!
>>> print 5 * 3
15
>>>
====== Mr.Lee TIPS ======
幾乎所有計算機程序和語言中都使用 * 符號作為乘號。這個符號稱作“星號”或“星”。
======口算&計算器&python三者進行對比吧======
口 算:Print 5 * 3
計算器:Print 98765431 - 9876543
Python:Print 4548754875157512154515421 * 544451484484121512157
======口算&計算器&python三者進行對比吧======
利用python你除了可以超大數(shù)的數(shù)學計算之外,你還可以做些令人意想不到的事情,例如:
>>> print “Dog” + “ brother”
Dog brother
>>
或者
>>> print “where is plane ” * 20
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 where is plane
>>>
計算機除了非常擅長運算外,另一件事情就是反復的做事情,重要的是它不會感到枯燥,就像上面我讓計算機喊了20句 where is plane ,如果你高興可以讓它喊到直到MH370出現(xiàn),前提是馬航要給力還有就是不要停電……
5、 編程任務(wù)
到目前為止,我們只是看到單個python指令的演示,其實程序就是多個指令的集合。
1、 創(chuàng)建程序的方法:
a.通過Python Shell菜單欄 → File → New Windows創(chuàng)建;
b.快捷鍵:Ctrl + N。
*新程序窗口標題欄顯示“Untitled”(未命名)。如何給程序取名字?
2、程序1 我們的第一個程序-“我愛吃香蕉”
print “我愛吃香蕉!”
print “香蕉 ” * 20
print “mua ” * 40
print “我吃撐了!”
3、 保存/另存(命名)你的程序文檔
File → Save / Save As
輸入完指令后通過 Save 快:Ctrl + N 保存or另存為
Save As 快:Ctrl + Shift +S
?。?!注意 >>擴展名<< 注意!!
輸入完程序名稱后一定不要忘了加上 .py ,否則在python中將看不到
程序中命令的顏色和windows不知道該用什么程序來打開這個文件。
====== Mr.Lee TIPS ======
如果你想要你的程序支持中文,需要在程序的第一行加上代碼:
#encoding XXX#
XXX用各國文字編碼代碼來替換,各國文字編碼代碼可以查詢百度。
例如,簡體中文的代碼是:GBK,那么程序的第一行應(yīng)寫上:
#encoding GBK#
====== Mr.Lee TIPS ======
6、 如果出了問題
在編程過程中容易出現(xiàn)的問題歸納為兩大類:
1、 syntax error(語法錯誤):指編程語言的拼寫和文法規(guī)則出現(xiàn)錯誤,意味著你鍵入的某個內(nèi)容不是正確的 Python 代碼。
例如:
>>>
print where is plane ”
syntax error: invalid syntax(語法錯誤:無效的語法)
there's 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:\Users\Administrator\Destop\i 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、 第二個程序任務(wù)
第一個程序“我愛吃香蕉!”沒多大實際意義,僅僅只是在屏幕上打印了一些內(nèi)容,下面我們來是一個更加有意思的程序,記得給它取上一個名字,“NumGuess”是個不錯的名字。
File → New Windows → Save → “NumGuess.py”
輸入以下代碼:
======================================================
#encoding=GBK#
import random
secret = random.randint(1, 100)
guess = 0
tries = 0
print "你好,同學……我和你們班主任之間有一個秘密???"
print "這個秘密就在1-99之間的一個數(shù)字。 我會給你6次機會來猜這個數(shù)字,猜對你就可以獲贈加多寶一罐! "
while guess !=secret and tries < 6:
guess = input("來猜個數(shù)字吧??? ")
if guess < secret:
print "太低了喔!~"
elif guess > secret:
print "太高了喔!~"
tries = tries + 1
if 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é)果應(yīng)該是下面這樣)
我的名字叫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 表達式:
代碼塊1
else:
代碼塊
b) 雙分支
if 表達式1:
代碼塊1
elif 表達式2:
代碼塊2
c) 多分支
if 表達式1:
代碼塊1
elif 表達式2:
代碼塊2
…
else:
代碼塊_其他
d) 嵌套
2. 了解三元表達式
Expression1 if boolean_expression else Expression2
如果滿足條件A大于B,則max值為A,反之max為B
如:max=A if A>B 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_suite
else:
else_suite
例如:
結(jié)果:
b) 掌握while
c) 掌握break、continue、pass
1.1 語法結(jié)構(gòu):
while boolean_expression:
while_suite
else:
else_suite
1.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 "\033[1;33;45m登錄成功,歡迎%s\033[0m"%username
chr()
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.swapcase
s.count()
教學重點
了解序列類型常用操作
了解索引和切片
掌握類型轉(zhuǎn)化
掌握強制類型轉(zhuǎn)化
教學難點
學會字符串轉(zhuǎn)換實例
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
1. 序列類型常用操作
a) 索引和切片
1.1.1 索引:例:s[0]從左向右:索引從0開始;從右向左:索引從-1開始
1.1.2 切片:例:s[0:2]
1.1.3 擴展切片:指定步長,例:s[0:9:2]
b) 掌握類型轉(zhuǎn)化
格式:
print “字符串 %format1 %format2…” % (變量或值1,變量或值2...)
符號及其對應(yīng)輸出格式:
%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,找到返回最小的索引值,找不到則返回-1
s.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或false
s. isalnum()/s.isalpha()/s.isdigit()/isupper()/islower():判斷所有字符是否為數(shù)字或字母
/是否為字母/是否為數(shù)字
結(jié)果是bool
s.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列表和元祖
教
學
目
標
掌握列表基礎(chǔ)知識
掌握列表相關(guān)方法
掌握序列類型操作
掌握生成器
掌握元組類型
掌握元組相關(guān)方法
教學重點
掌握列表相關(guān)方法
掌握序列類型操作
掌握生成器
掌握元組類型
教學難點
掌握列表相關(guān)方法
掌握元組相關(guān)方法
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
1. 掌握列表基礎(chǔ)知識
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)
>>> list1
['d', 'd', 'd', 'g', 'f']
例2:(后面講)
>>> tuple1=(1,2,1)
>>> list1=list(tuple1)
>>> list1
[1, 2, 1]
例3:
2. 掌握列表相關(guān)方法:
2.1 append():向列表中追加元素
例如:
2.2 extend():追加可迭代對象中所有元素
例1:list2=[1,2,3]
list3=[]
list3.extend(list2)
例2
2.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 list
for 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. 掌握元組相關(guān)方法
index():返回指定元素第一次出現(xiàn)的索引位置
count():指定元素出現(xiàn)的次數(shù)
例如:
二、上機練習
練習:
三、本課小結(jié)
列表基礎(chǔ)知識、列表相關(guān)方法、序列類型操作、生成器、元組類型、元組相關(guān)方法
學生完成實例操作
課后
反思
時間:
課題
運維平臺計算機管理實例
教
學
目
標
登錄模塊實現(xiàn)
添加計算機
刪除計算機
查詢可管理計算機
教學重點
登錄模塊實現(xiàn)
教學難點
查詢可管理計算機
主要教法
講授演示法+上機操作
教 學 過 程
一、學習任務(wù)
運維平臺計算機管理實例 任務(wù)要求與注意事項
二、上機練習
學生上機實操:
提示:
三、任務(wù)展示與評價
學生進行展示,完成互評與老師點評
項目
分值
評價標準
得分
自評
組評
師評
程序設(shè)計
20
編程技巧
30
調(diào)試過程
運行結(jié)果
30
搭建合理穩(wěn)固
小組配合
20
小組成員分工及配合方面
總體得分
課后
反思
時間:
課題
python字典和集合
教
學
目
標
掌握字典類型
掌握字典相關(guān)方法
掌握字典的遍歷
掌握集合類型
掌握集合相關(guān)方法
教學重點
掌握字典相關(guān)方法
掌握字典的遍歷
掌握集合類型
教學難點
掌握字典的遍歷
掌握集合相關(guān)方法
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
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. 關(guān)鍵點:
? 鍵與值用冒號“:”分開;
? 項與項用逗號“,”分開;
? 字典中的鍵必須是唯一的,而值可以不唯一
2. 掌握字典相關(guān)方法
2.1 更新或添加元素:dict1[key] = 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():取得某個鍵對應(yīng)的值
例如:
2.10 pop():彈出指定鍵對應(yīng)的值
2.11 popitem():隨機彈出鍵值對
2.12 clear():清除所有元素
例如:
3. 掌握字典的遍歷:
4. 掌握集合類型
4.1 什么是集合
無序、互異,
4.2 集合的功能及特點
支持成員關(guān)系判斷
支持迭代
不支持索引,切片
元素唯一
4.3 定義集合set
方法一:{元素}
方法二:內(nèi)置函數(shù)set()
例:
5. 集合相關(guān)方法:
5.1 len():元素個數(shù)
例如:
5.2 add():添加元素
例如:
5.3 remove():刪除元素
例如:
5.4 update():合并集合
例如:
5.5 pop():隨機彈出某個元素
例如:
5.6 集合關(guān)系操作
5.6.1 s|t:s和t的并集
例如:
5.6.2 s&t:s和t的交集
例如:
5.6.3 s-t:求差集,存在于s集合而不存在于t集合中的
例如:
5.6.4 s^t:求對稱差集
例如:
二、上機練習
學生上機完成字典類型、字典相關(guān)方法、字典的遍歷、集合類型、集合相關(guān)方法的案例練習。
三、本課小結(jié)
字典類型、
字典相關(guān)方法、
字典的遍歷、
集合類型、
集合相關(guān)方法
課后
反思
時間:
課題
python文件處理
教
學
目
標
掌握如何創(chuàng)建文件對象
掌握open()三種基本模式
掌握open()的附加模式
掌握文件對象的相關(guān)方法
掌握文件對象的相關(guān)屬性
教學重點
掌握如何創(chuàng)建文件對象
掌握open()三種基本模式
掌握open()的附加模式
教學難點
掌握文件對象的相關(guān)方法
掌握文件對象的相關(guān)屬性
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
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) +:表示同時支持讀寫aa
b) a+ 可讀寫模式,寫只能寫在文件末尾處
c) w+ 可讀寫,與a+的區(qū)別是要清空文件內(nèi)容
d) r+ 可讀寫,與a+的區(qū)別是可以寫到文件任何位置
4. 掌握文件對象的相關(guān)方法
readline():返回一行
readlines():列表類型返回所有行內(nèi)容
read():指定從文件讀取多少字節(jié),不指定字節(jié)數(shù)則讀取全部內(nèi)容,以字符串形式顯示。
tell():當前指針在文件中的位置(多少個字節(jié)的位置)
seek():定義文件指針的偏移量
f.seek(偏移量, 選項)
write():將字符串寫入文件
writelines():將字符序列寫入
flush():刷新,將數(shù)據(jù)從緩存區(qū)寫入文件
sldkjalsjaslkjd
close():關(guān)閉文件
例如:
例2:
5. 掌握文件對象的相關(guān)屬性
mode:文件打開模式
name:返回文件名
closed:顯示文件是否已關(guān)閉掉
例如:
二、上機練習
學生上機完成創(chuàng)建文件對象、open()三種基本模式、open()的附加模式、文件對象的相關(guān)上機練習,熟練完成Python創(chuàng)建文件對象的方法。
三、本課小結(jié)
如何創(chuàng)建文件對象、
open()三種基本模式、
open()的附加模式、
掌握文件對象的相關(guān)方法
掌握文件對象的相關(guān)屬性
課后
反思
時間:
課題
函數(shù)式編程一
教
學
目
標
掌握什么是函數(shù)
掌握函數(shù)的定義
掌握函數(shù)的調(diào)用
掌握函數(shù)形參和實參的區(qū)別
了解函數(shù)的作用域:什么是作用域、作用域分類
掌握函數(shù)的參數(shù):默認參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)
教學重點
掌握函數(shù)的調(diào)用
掌握函數(shù)形參和實參的區(qū)別
教學難點
了解函數(shù)的作用域:什么是作用域、作用域分類
掌握函數(shù)的參數(shù):默認參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
1. 掌握什么是函數(shù) function 功能 def
函數(shù)是python為了代碼重用和最小化代碼冗余而提供的基本程序結(jié)構(gòu)。
函數(shù)將相關(guān)功能打包并參數(shù)化,將復雜的系統(tǒng)分解成可管理的部件。
2. 掌握函數(shù)的定義
在這里說明幾點:
? 在Python中采用def關(guān)鍵字進行函數(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關(guān)鍵字定義函數(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ù)里面應(yīng)用,但是如果要在函數(shù)內(nèi)部改變?nèi)肿兞?,必須使用global關(guān)鍵字進行聲明
6. 掌握函數(shù)的參數(shù)
6.1 默認參數(shù):定義函數(shù)時,“name=value”的形式設(shè)置參數(shù)默認值
在Python中默認的是采用位置參數(shù)來傳參。這樣調(diào)用函數(shù)必須嚴格按照函數(shù)定義時的參數(shù)個數(shù)和位置來傳參,從左至右進行匹配,否則將會出現(xiàn)預(yù)想不到的結(jié)果調(diào)用函數(shù)時
默認參數(shù)放后邊
6.2 關(guān)鍵字參數(shù): 調(diào)用函數(shù)時,使用“name=value”的形式通過參數(shù)名指定
通過指定參數(shù)名字傳遞參數(shù)的時候,參數(shù)位置對結(jié)果是沒有影響的。關(guān)鍵字參數(shù)最厲害的地方在于它能夠給函數(shù)參數(shù)提供默認值,
參數(shù)指定了默認值后,如果傳參時不指定參數(shù)名,則會從左到右依次進行傳參,關(guān)鍵參數(shù)要放在普通參數(shù)后面。
例如:
6.3 可變參數(shù)
6.3.1 例1:*args,我們要定義一個函數(shù)的時候,必須要預(yù)先定義這個函數(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ù)式編程任務(wù),教師巡視指導。
三、本課小結(jié)
什么是函數(shù)
函數(shù)的定義
函數(shù)的調(diào)用
函數(shù)形參和實參的區(qū)別
函數(shù)的作用域:什么是作用域、作用域分類
函數(shù)的參數(shù):默認參數(shù)、關(guān)鍵字參數(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
例2
2. 掌握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ù)式編程任務(wù),教師巡視指導。
三、本課小結(jié)
遞歸函數(shù)
掌握lambda表達式
enumerate函數(shù)序列化
yield函數(shù)(迭代)
裝飾器
課后
反思
時間:
課題
常用模塊一
教
學
目
標
了解什么是模塊
了解模塊和文件
掌握導入模塊:模塊搜索路徑、import語句導入模塊、from 語句導入模塊
os模塊及方法:系統(tǒng)相關(guān)、目錄相關(guān)、路徑相關(guān)、文件相關(guān)、查詢相關(guān)
教學重點
了解模塊和文件
教學難點
掌握導入模塊
os模塊及方法:
主要教法
講授演示法+上機操作
教 學 過 程
一、新課講授
1. 了解什么是模塊
模塊是一個包含定義的變量,函數(shù)和類的文件,其后綴名是.py。模塊可以被其他程序?qū)?,以使用該模塊中的變量,函數(shù)和類。
2. 了解模塊和文件
2.1 if __name__ =="__main__":print ‘xxxx’
2.1.1 如果作為程序文件獨立執(zhí)行,__name__變量值為__main__,則執(zhí)行if __name__ =="__main__":后的語句。
2.1.2 如果作為模塊導入其他文件,__name__變量值為模塊名,則不執(zhí)行if __name__ =="__main__":后的語句,在導入進的文件中調(diào)用時才對應(yīng)執(zhí)行。
3. 掌握導入模塊
1.1 模塊搜索路徑:
import sys
print 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)應(yī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 目錄相關(guān)的方法:
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 路徑相關(guān)的方法:
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
鏈接地址:http://www.820124.com/p-1532918.html