吳鳴
摘要:通過(guò)教學(xué),讓學(xué)生熟悉并掌握Python語(yǔ)言中常量和變量的運(yùn)用。只有扎實(shí)掌握基本知識(shí),形成良好的計(jì)算思維,才能在以后具備對(duì)計(jì)算數(shù)據(jù)的探究分析能力,從而發(fā)現(xiàn)問(wèn)題、解決問(wèn)題。
關(guān)鍵詞:Python ;常量;變量;高中信息技術(shù)課
本課的教學(xué)對(duì)象為高中一年級(jí)學(xué)生。由于我們的學(xué)生大部分來(lái)自農(nóng)村初中,計(jì)算機(jī)水平參差不齊,在對(duì)新教材中Python語(yǔ)言的學(xué)習(xí)中,難免會(huì)遇到各種困難。所以在教學(xué)中,教師應(yīng)盡量做到例證淺顯易懂,多操作、多演示,給學(xué)生直觀感受。
一、教學(xué)目標(biāo)
(1)了解字符串的含義。
(2)了解賦值的含義。
(3)熟悉變量和變量的定義。
(4)熟練掌握設(shè)定正確的標(biāo)識(shí)符。
(5)初步培養(yǎng)學(xué)生的計(jì)算思維能力。
二、教學(xué)重難點(diǎn)
(1)變量的標(biāo)識(shí)符設(shè)定時(shí)的注意事項(xiàng)。
(2)正確理解賦值。
(3)敲寫(xiě)代碼時(shí)標(biāo)點(diǎn)符號(hào)的正確運(yùn)用。
三、教學(xué)工具
機(jī)房,多媒體工具。
課時(shí)安排:1課時(shí)。
四、教學(xué)過(guò)程
由一個(gè)問(wèn)題引出新的知識(shí)點(diǎn)。
老師在電腦的教師演示界面上,打開(kāi)shell窗,在里面寫(xiě)出如下程序:
>>> a = 1
>>> b = 2
>>> a = a+b
>>> b = b*2
>>> print (a,b)
師:同學(xué)們,這里最后輸出a和b的值,到底是多少呢?這里面重復(fù)出現(xiàn)a和b,是一樣的還是有所區(qū)別呢?在這里面,哪些是常量,哪些又是變量呢?
學(xué)生思考:a和b的值,什么是常量,什么是變量?
教師闡述常量的定義,并以書(shū)上的例子詢(xún)問(wèn)學(xué)生:大家有沒(méi)有發(fā)現(xiàn)常量‘Hello‘Good字符串有什么明顯的共同點(diǎn)?
學(xué)生回答:兩個(gè)都有引號(hào)。
教師引入字符串的含義:以單引號(hào)或雙引號(hào)括起來(lái)的任意文本都是字符串,并且強(qiáng)調(diào)一定是英文輸入法下的引號(hào)。要注意字符串中每一個(gè)元素都是可以被提取的。
接下來(lái),教師解釋什么是變量。變量即變化的量,核心是“變”與“量”二字,變即變化,量即衡量狀態(tài)。完整的變量包括:變量名、等號(hào)、變量值。對(duì)于計(jì)算機(jī),變量可以看作是一種存放信息的容器,用于存儲(chǔ)在計(jì)算機(jī)程序中需要引用和操作的信息。對(duì)于人,提供一種用描述性的名稱(chēng)對(duì)數(shù)據(jù)進(jìn)行標(biāo)記的方法,這樣我們寫(xiě)的程序就可以更清楚地被讀者和我們自己理解。并且Python的變量不需要特別聲明,數(shù)據(jù)類(lèi)型是Python自動(dòng)決定的,可以直接輸入。
教師給學(xué)生說(shuō)明變量的重要性。因?yàn)槌绦驁?zhí)行的本質(zhì)就是一系列狀態(tài)的變化,變是程序執(zhí)行的直接體現(xiàn),所以我們需要有一種機(jī)制能夠反映或者說(shuō)是保存下來(lái)程序執(zhí)行時(shí)的狀態(tài)以及狀態(tài)的變化。那么我們首先要學(xué)會(huì)如何設(shè)定變量,在給變量起名字的時(shí)候要注意一些問(wèn)題:
(1)變量名只能是字母、數(shù)字或下劃線(xiàn)的任意組合,且不能以數(shù)字開(kāi)頭,可以下畫(huà)線(xiàn)開(kāi)頭。
(2)字母的大小寫(xiě)是有區(qū)別的。
(3)變量名可以用中文和拼音,但是盡量不要這樣定義。
(4)系統(tǒng)關(guān)鍵字不能用作變量名。
(5)變量定義的等號(hào)左右建議用空格隔開(kāi)(有無(wú)空格效果相同)。
(6)見(jiàn)名知意,變量名要具有描述性的作用,要寫(xiě)得簡(jiǎn)潔直觀易懂,且不要太長(zhǎng)。比如,r代表半徑,s代表面積。
教師舉例提問(wèn):1ahs,ahs#1,name_1,HelloWorld,哪些命名是正確的,哪些是錯(cuò)誤的,并在shell窗口給學(xué)生演示。
教師提出疑問(wèn):在Python中我們用等號(hào) = 來(lái)給變量賦值,也就是給變量值,比如a = 1。那么a = 1這條語(yǔ)句能不能讀成a等于1呢?很顯然是不能的。這里的設(shè)定主要是指在內(nèi)存中分配了一塊空間把1這個(gè)整數(shù)存儲(chǔ)起來(lái),然后又在內(nèi)存中創(chuàng)建了一個(gè)名為a的變量,并且將a變量指向存儲(chǔ)1的內(nèi)存地址。簡(jiǎn)單一點(diǎn)來(lái)說(shuō),a = 1這條語(yǔ)句運(yùn)行之后,a就是一個(gè)變量,它代表的值就是1。當(dāng)然a 作為一個(gè)變量,它的值會(huì)隨著重新賦值而發(fā)生變化。例如:
>>> a = 1
>>> a
1
>>> a = 'name'
>>> a
'name'
由此可見(jiàn),在Python中,如果我們想讓a存儲(chǔ)不同的數(shù)據(jù),不需要?jiǎng)h除原有變量就可以直接賦值。處理的方法有如下幾種:
(1)直接重新賦值,相當(dāng)于取消變量名與變量值的關(guān)系。
(2)刪除變量delete。
(3)超時(shí)清理。Python有自己的內(nèi)存回收機(jī)制,每隔一段時(shí)間,檢查沒(méi)有變量名的變量值,進(jìn)行清理,一般不用擔(dān)心內(nèi)存會(huì)滿(mǎn)。
(4)用變量為變量賦值:
>>>name1 = "aaa"
>>>name2 = name1
>>>print (name1,name2 )
>>>aaa aaa
>>>name1 = "bbb"
>>>print (name1,name2 )
>>>bbb aaa
用變量name1給變量name2賦值,name1只是將它自己變量的值交付給name2,賦完值之后name2獲取到新的值,之后它們倆就沒(méi)有關(guān)系了,此時(shí)無(wú)論name1如何變化也不會(huì)影響n(yōu)ame2的值,因?yàn)椤皀ame2=name1”并不是建立name1和name2的關(guān)系。
這個(gè)時(shí)候回到課堂一開(kāi)始提出的問(wèn)題上,那么很明顯這里a = 1+2;b = 2*2,最后的答案是3和4。
五、課后問(wèn)題
>>> a = 1
>>> b = 2
>>> a+b
我們都知道結(jié)果是3,如果:
>>> a = ‘1
>>> b = ‘2
>>> a+b
結(jié)果又是多少呢?這個(gè)問(wèn)題我們留在下節(jié)課解答。教師進(jìn)行本節(jié)課的總結(jié),同時(shí)提示同學(xué)們預(yù)習(xí)下一節(jié)課的內(nèi)容《運(yùn)算符及表達(dá)式》。
六、教學(xué)設(shè)計(jì)反思
(1)本節(jié)課的設(shè)計(jì)在教學(xué)環(huán)節(jié)上有以下兩方面的優(yōu)點(diǎn):一是由淺入深地解決問(wèn)題,激發(fā)學(xué)生的學(xué)習(xí)興趣;二是采用多媒體教學(xué)手段。
(2)本節(jié)課還存在的不足之處,有待改進(jìn):可以適當(dāng)給予學(xué)生自主操作和討論的環(huán)節(jié)。
參考文獻(xiàn):
[1]黃天羽,嵩天.以圖形牽引興趣的Python 案例教學(xué)方法與實(shí)踐[J].計(jì)算機(jī)教育,2017(08).
(責(zé)任編輯:奚春皓)