于雁
摘要:Python程序設(shè)計(jì)語(yǔ)言具有開(kāi)源性、語(yǔ)言結(jié)構(gòu)和形式簡(jiǎn)潔、擴(kuò)展性強(qiáng)等特點(diǎn),是目前計(jì)算機(jī)編程領(lǐng)域中主流編輯語(yǔ)言。由于其簡(jiǎn)單易懂容易上手和人門(mén)的優(yōu)勢(shì),目前已經(jīng)在國(guó)內(nèi)外很多高中學(xué)習(xí)中開(kāi)設(shè)課程。因此,研究高中信息技術(shù)python模擬程序的編寫(xiě)及應(yīng)用具有重要意義。介紹了Python程序設(shè)計(jì)語(yǔ)言的優(yōu)勢(shì),從Python語(yǔ)言程序設(shè)計(jì)的教學(xué)層次和具體實(shí)施方案兩個(gè)維度介紹了Python模擬程序在高中信息技術(shù)教學(xué)中的應(yīng)用思路。設(shè)計(jì)了包括基本數(shù)據(jù)類(lèi)型、基本數(shù)據(jù)類(lèi)型、復(fù)合數(shù)據(jù)類(lèi)型、函數(shù)與模塊等課程理論教學(xué)內(nèi)容。
關(guān)鍵詞:高中信息技術(shù);python;模擬程序;編寫(xiě);應(yīng)用
中圖分類(lèi)號(hào):x799 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)30-0224-02
1概述
隨著信息社會(huì)的發(fā)展以及計(jì)算機(jī)技術(shù)日益進(jìn)步,新時(shí)代初高中學(xué)生除了要掌握基礎(chǔ)的計(jì)算機(jī)操作和應(yīng)用外,還需要具備一定的編程能力。計(jì)算機(jī)程序設(shè)計(jì)是高中信息技術(shù)的核心課程,是實(shí)現(xiàn)程序編寫(xiě)的高級(jí)語(yǔ)言,介紹了程序設(shè)計(jì)的基本思維,是學(xué)生后續(xù)計(jì)算機(jī)課程學(xué)習(xí)的理論基礎(chǔ)。傳統(tǒng)的編程語(yǔ)言,如C語(yǔ)言,Java等為了功能的全面性往往采用了復(fù)雜的語(yǔ)言結(jié)構(gòu),在編程語(yǔ)言的學(xué)習(xí)中,學(xué)生往往需要掌握大量語(yǔ)法細(xì)節(jié),學(xué)習(xí)量和學(xué)習(xí)任務(wù)較重,限制了編程語(yǔ)言在其他領(lǐng)域的應(yīng)用。Py-thon程序設(shè)計(jì)語(yǔ)言以其開(kāi)源性、語(yǔ)言結(jié)構(gòu)和形式簡(jiǎn)潔、擴(kuò)展性強(qiáng)等優(yōu)勢(shì)已經(jīng)逐漸成為計(jì)算機(jī)編程領(lǐng)域中主流編輯語(yǔ)言。因此,研究高中信息技術(shù)python模擬程序的編寫(xiě)及應(yīng)用具有重要意義。
2Python語(yǔ)言的優(yōu)勢(shì)
Python程序設(shè)計(jì)語(yǔ)言起源于1989年,由荷蘭計(jì)算機(jī)數(shù)學(xué)家吉多·范羅蘇姆設(shè)計(jì)。自Python程序設(shè)計(jì)語(yǔ)言問(wèn)世以來(lái)便在教育界和計(jì)算機(jī)領(lǐng)域引起了廣泛的關(guān)注,國(guó)外一些學(xué)校和研究院從很早便發(fā)覺(jué)了Python程序設(shè)計(jì)語(yǔ)言在教學(xué)領(lǐng)域的潛在價(jià)值,并開(kāi)展了相關(guān)教學(xué)實(shí)踐。在國(guó)外一些發(fā)達(dá)國(guó)家中,排名前百的高中和大學(xué)超過(guò)6成均開(kāi)設(shè)了Python以及相關(guān)課程編程語(yǔ)言的課程,其中部分學(xué)校已經(jīng)將計(jì)算機(jī)專(zhuān)業(yè)課程設(shè)計(jì)中的第一編程語(yǔ)言從java改成了Python,逐漸淘汰了早期包括c語(yǔ)言在內(nèi)的一些計(jì)算機(jī)編程語(yǔ)言。相比于國(guó)外,國(guó)內(nèi)計(jì)算機(jī)教育相對(duì)保守和滯后,目前開(kāi)設(shè)Python程序設(shè)計(jì)語(yǔ)言課程的學(xué)校不多,北京一些高中在近幾年開(kāi)設(shè)了Python程序設(shè)計(jì)語(yǔ)言課程,并且得到了較好的教學(xué)反饋,學(xué)生在計(jì)算機(jī)編程專(zhuān)業(yè)的成績(jī)也有所提高。隨著python編程語(yǔ)言的發(fā)展,將在校園信息技術(shù)教學(xué)中占據(jù)越來(lái)越重要的位置。
Python程序設(shè)計(jì)語(yǔ)言的語(yǔ)法結(jié)構(gòu)相對(duì)簡(jiǎn)單,程序語(yǔ)言形式簡(jiǎn)潔,對(duì)于語(yǔ)法要求相對(duì)較低,風(fēng)格上非常解決英語(yǔ),對(duì)于高中學(xué)生及編程基礎(chǔ)少的初學(xué)者來(lái)說(shuō)容易人門(mén)和上手。Python程序設(shè)計(jì)語(yǔ)言注重計(jì)算編程問(wèn)題的解值,作為利用計(jì)算機(jī)解決問(wèn)題的工具語(yǔ)言之一,Python語(yǔ)言是公認(rèn)的、最接近自然語(yǔ)言的編程語(yǔ)言。
Python程序設(shè)計(jì)語(yǔ)言是一種開(kāi)源軟件,擁有開(kāi)放的編程語(yǔ)言交流社區(qū),能夠?yàn)槿澜绶秶鷥?nèi)的編程愛(ài)好者提供學(xué)習(xí)和交流的互動(dòng)平臺(tái)。Python語(yǔ)言還具有較強(qiáng)的移植擴(kuò)展性,由于Python程序設(shè)計(jì)語(yǔ)言的設(shè)計(jì)思想及語(yǔ)言風(fēng)格代表了近幾年計(jì)算機(jī)編程技術(shù)的發(fā)展,與其他語(yǔ)言的兼容性較強(qiáng),可以用C語(yǔ)言進(jìn)行編寫(xiě),另外Python程序設(shè)計(jì)語(yǔ)言作為一個(gè)腳本,擁有程序運(yùn)行的所必須的源代碼,因而可實(shí)現(xiàn)跨平臺(tái)的交流,為物聯(lián)網(wǎng)、人工智能以及大數(shù)據(jù)云計(jì)算提供了語(yǔ)言基礎(chǔ)。Python語(yǔ)言具有豐富的數(shù)據(jù)資源庫(kù),涵蓋了數(shù)據(jù)分析領(lǐng)域中的web開(kāi)發(fā)、數(shù)據(jù)庫(kù)接口以及科學(xué)計(jì)算等功能,為學(xué)生進(jìn)一步的擴(kuò)展學(xué)習(xí)提供了途徑。
3Python模擬程序在高中信息技術(shù)教學(xué)中的應(yīng)用思路
3.1Python語(yǔ)言程序設(shè)計(jì)的教學(xué)層次
由于Python程序設(shè)計(jì)語(yǔ)言具有很強(qiáng)的開(kāi)源性和可讀性,因而可以將Python語(yǔ)言的設(shè)計(jì)內(nèi)容分為Pvthon基礎(chǔ)和Python生態(tài)圈兩大部分。Python基礎(chǔ)是標(biāo)準(zhǔn)意義上的程序語(yǔ)言設(shè)計(jì),主要解決程序設(shè)計(jì)方法問(wèn)題,梳理問(wèn)題的提出到解決過(guò)程中的思路。Python生態(tài)圈主要指第三方函數(shù)數(shù)據(jù)庫(kù)的應(yīng)用,Python生態(tài)圈也是Pvthon程序語(yǔ)言有別于其他編程語(yǔ)言的關(guān)鍵功能。針對(duì)與不同的部分,Python語(yǔ)言設(shè)計(jì)教學(xué)可分為兩個(gè)不同的層次,第一種就是計(jì)算機(jī)基礎(chǔ)程序設(shè)計(jì),一般在高中計(jì)算機(jī)課程中開(kāi)設(shè),作為非專(zhuān)業(yè)的入門(mén)公共課程;另一種是專(zhuān)業(yè)編程課程,一般為有一定專(zhuān)業(yè)知識(shí)基礎(chǔ)的人群開(kāi)設(shè)。
兩種層次的教學(xué)目標(biāo)有所不同。作為公共基礎(chǔ)課,Pymon語(yǔ)言教學(xué)側(cè)重Python基礎(chǔ),Python生態(tài)圈僅提供一定的方向指導(dǎo),具體課程內(nèi)容偏重基礎(chǔ)算法講解。以排列組合問(wèn)題為例,在介紹列表sort方法和內(nèi)置函數(shù)外,還應(yīng)介紹選擇排序、插入排序等基本排序算法。作為專(zhuān)業(yè)應(yīng)用課程,Python語(yǔ)言教學(xué)側(cè)重第三方函數(shù)庫(kù)的應(yīng)用,重點(diǎn)介紹了利用Python語(yǔ)言解決學(xué)科領(lǐng)域相關(guān)問(wèn)題的方法,不需要在講解基礎(chǔ)的邏輯和算法。
3.2Python高中信息技術(shù)教學(xué)中的具體實(shí)施方案
(1)課程理論教學(xué)內(nèi)容。Python教學(xué)內(nèi)容應(yīng)以問(wèn)題為導(dǎo)向,按照問(wèn)題一算法一程序的思維邏輯進(jìn)行問(wèn)題求解。具體設(shè)計(jì)內(nèi)容框架見(jiàn)圖1。
基本數(shù)據(jù)類(lèi)型主要包括Python編程語(yǔ)言中各類(lèi)數(shù)據(jù)對(duì)象的表示方法、常用函數(shù)及表達(dá)式、基本運(yùn)算規(guī)則和表達(dá)形式等內(nèi)容。
基本數(shù)據(jù)類(lèi)型主要指順序、循環(huán)和選擇三種控制結(jié)構(gòu)。其中,順序結(jié)構(gòu)包括語(yǔ)句賦值、數(shù)據(jù)輸入和數(shù)據(jù)輸出等,選擇結(jié)構(gòu)包括運(yùn)算條件的描述、選擇結(jié)構(gòu)的實(shí)現(xiàn)和條件運(yùn)算等,循環(huán)結(jié)構(gòu)主要包括了while循環(huán)結(jié)構(gòu)、for循環(huán)結(jié)構(gòu)、各類(lèi)循環(huán)控制和循環(huán)嵌套語(yǔ)句等。
復(fù)合數(shù)據(jù)類(lèi)型主要是字符串的處理、列表與元組的應(yīng)用、字典與集合的應(yīng)用。字符串處理具體指字符串的檢索、編碼、分片等字符串相關(guān)操作。列表與元組具體指針對(duì)序列的通用操作、針對(duì)列表的特有操作和列表與元組的相互轉(zhuǎn)化。字典與集合的應(yīng)用則是指與字典、集合相關(guān)的操作。
函數(shù)與模塊主要包括了相關(guān)函數(shù)的定義和函數(shù)的調(diào)用,具體還包括了函數(shù)的參數(shù)設(shè)置、函數(shù)嵌套以及遞歸調(diào)用等。
其余課程內(nèi)容設(shè)置相對(duì)簡(jiǎn)單,文件操作主要指文件的打開(kāi)、關(guān)閉操作,二進(jìn)制文件的處理等。圖形繪制主要涉及Tkint-er圖形數(shù)據(jù)庫(kù)、圖形事件處理及應(yīng)用。圖形用戶界面主要對(duì)常用控件進(jìn)行布局,設(shè)置調(diào)整對(duì)話框參數(shù)等。第三方模塊庫(kù)主要指函數(shù)數(shù)據(jù)庫(kù)的應(yīng)用,包括Python語(yǔ)言在其他專(zhuān)業(yè)學(xué)科和領(lǐng)域中的應(yīng)用。
(2)課程實(shí)踐內(nèi)容設(shè)置。學(xué)生在學(xué)習(xí)過(guò)Python編程語(yǔ)言基礎(chǔ)課程內(nèi)容后需要進(jìn)一步學(xué)習(xí)實(shí)踐內(nèi)容,實(shí)踐課程要求學(xué)生能夠獨(dú)立完成具有一定復(fù)雜度的設(shè)計(jì)項(xiàng)目,在完成項(xiàng)目設(shè)計(jì)的過(guò)程中,需要綜合利用Python編程語(yǔ)言基礎(chǔ)知識(shí)分析和解決實(shí)際問(wèn)題。在運(yùn)用Python編程語(yǔ)言的過(guò)程中,通過(guò)分析問(wèn)題、編輯算法、編寫(xiě)程序、調(diào)試程序后,學(xué)生的基本計(jì)算機(jī)能力會(huì)有大幅度提高,在分析問(wèn)題、解決問(wèn)題能力上會(huì)有質(zhì)的提升。
典型的課程設(shè)計(jì)內(nèi)容主要包括以下幾點(diǎn):繪制各類(lèi)型曲線和特殊圖形、設(shè)計(jì)相關(guān)程序、設(shè)計(jì)用戶圖形界面、求解線性方程等科學(xué)計(jì)算問(wèn)題、處理和轉(zhuǎn)義自然語(yǔ)言等。這設(shè)計(jì)課程內(nèi)容時(shí),要求學(xué)生首先根據(jù)要分析的問(wèn)題建立相關(guān)數(shù)學(xué)模型,設(shè)計(jì)和編輯最優(yōu)的算法,在對(duì)程序進(jìn)行設(shè)計(jì)和調(diào)試后,根據(jù)結(jié)果進(jìn)行評(píng)估和分析。一般來(lái)講,在問(wèn)題求解方式上通常有基本算法、Python標(biāo)準(zhǔn)庫(kù)求解、第三方庫(kù)代碼復(fù)用三種主流算法。這其中的重點(diǎn)是第三方庫(kù)的正確使用,如矩陣算法中NumPy模塊的使用,SciPy模塊的科學(xué)計(jì)算,Matplotlib模塊的數(shù)據(jù)可視化管理。由于高中學(xué)生Python編程課時(shí)相對(duì)較短,前期專(zhuān)業(yè)知識(shí)基礎(chǔ)缺乏,一些相對(duì)專(zhuān)業(yè)的高級(jí)應(yīng)用暫時(shí)無(wú)法開(kāi)展,如網(wǎng)絡(luò)爬蟲(chóng)技術(shù)和數(shù)據(jù)挖掘技術(shù)等。
4結(jié)束語(yǔ)
高中信息技術(shù)課程是一門(mén)對(duì)技術(shù)條件、師資力量、實(shí)踐性等內(nèi)容要求較高的計(jì)算機(jī)課程。由于Python是開(kāi)源語(yǔ)言,擁有很多第三方動(dòng)態(tài)庫(kù),在高中信息技術(shù)課程教學(xué)中對(duì)于Python內(nèi)容和庫(kù)的選擇尚且缺乏標(biāo)準(zhǔn)。另外,Python語(yǔ)言進(jìn)人高中信息技術(shù)課程內(nèi)容的時(shí)間相對(duì)較短,缺少完善的教學(xué)體系和師資隊(duì)伍。從目前高中信息技術(shù)課程發(fā)展情況來(lái)說(shuō),python模擬程序的編寫(xiě)及應(yīng)用是高中信息技術(shù)課程發(fā)展過(guò)程中的關(guān)鍵環(huán)節(jié)。