本書共分四個章節(jié),分別是Python面向對象程序設計基礎、常用算法思想及其程序實現(xiàn)、Python數(shù)據(jù)分析和Python擴展應用。不僅涵蓋了Python設計的基礎知識,還列舉了幾種常用的經(jīng)典算法,最后從大數(shù)據(jù)分析和擴展應用兩個方向介紹了Python語言的強大之處。此外,在每個小節(jié)的最后,還設置了上機實踐、課堂練習、閱讀材料等板塊,適合中學生的學習以及課程開設。本書還提供在線網(wǎng)絡課程,通過MOOC課程設計,設置符合知識體系的練習系統(tǒng)和交互式評價方案。
適讀人群 :以高中教師和學生為主,也可作為大學生和Python程序設計愛好者的入門教材。
通過各種經(jīng)過實踐教學檢驗的編程問題或案例,將Python語言與常用算法思想、創(chuàng)客教育結合起來,通過Python編程來實現(xiàn)算法思維,利用Python語言的擴展性將其與硬件連接,實現(xiàn)“造物”,充分強調了計算思維。
序
在信息社會中,學生的信息技術素養(yǎng),特別是計算思維的能力,已經(jīng)成為未來職業(yè)生涯的核心競爭力之一。信息技術課程是發(fā)展學生信息技術素養(yǎng)的最重要途徑。多年的實踐表明:信息技術課程中的編程教學與訓練在培養(yǎng)學生計算思維能力方面無可替代。當前,在中學編程教學中普遍采用的語言,無論從學科趨勢還是實際應用,都已經(jīng)與社會發(fā)展及學生成長的要求相脫節(jié)。因此,信息技術教學中迫切需要引入一種(或多種)既迎合技術應用趨勢、同時又能滿足中學課堂教學需要的編程語言。
作為一種現(xiàn)代編程語言,Python具有語法簡單、開源、跨平臺、擴展性強等諸多特點,且擁有眾多功能強大的應用擴展庫,是眾多主流領域應用(如大數(shù)據(jù)分析)開發(fā)的首選語言。同時,Python也是最易學易用的編程語言之一,特別是其信息技術基本概念的完美詮釋、對各類開源硬件和數(shù)據(jù)分析的全面支持,使之尤其適合非計算機專業(yè)人員用作教學語言,以及做些輕量級的實驗及原型開發(fā)等工作。因此,Python已經(jīng)成為國內外眾多高校計算機通識課程中所使用的首選語言,在這樣的大背景下,在中學信息技術編程教學中適當采納Python似乎也順理成章。但是,采用一種全新的編程語言教學意味著要對整個教學內容、教學環(huán)境、教學資源和評價方法進行重構,同時還涉及對信息技術教師重新培訓等復雜問題。因此,在中學階段開設Python課程絕非易事。
本書作者都是活躍在教學一線的信息技術老師,他們很早就開始在其信息技術課堂及課外活動中使用Python語言進行編程教學,也包括支持創(chuàng)客課程及學科整合等方面的寶貴嘗試,本書就是這些教師集體經(jīng)驗的結晶。
本書以中學開設Python課程的需要出發(fā),結合課標要求,系統(tǒng)且詳細地講述了Python語言的核心內容,尤其難能可貴的是,本書通過各種經(jīng)過實際教學檢驗的編程問題或案例,將課程標準所要求的算法和數(shù)據(jù)處理等方面知識無縫融入,對于有意學習Python,或者初次使用Python進行編程教學的老師具有很好的引領作用。此外,本書還專辟篇幅介紹了幾種典型Python擴展包,并附有支持開源硬件(如樹莓派)和數(shù)據(jù)分析等典型應用的簡潔而完整實例,為讀者深入學習Python提供指引。
有幸第一時間讀到作者們的書稿,受益匪淺,希望本書出版能鼓勵更多信息技術老師學習Python、使用Python、宣傳Python。
借此機會,是以為序。
首都師范大學 樊磊
2017年6月
范建農,具有多年的高中任教經(jīng)驗,是浙江省科學技術協(xié)會會員,嘉興市高中信息技術學科中心組核心成員,主持過多個省市級課題項目,出版了《高考零距離突破—高考金典》、《高考零距離突破—高考倒計時》(中國原子能出版社),《信息技術新時代領航》(文匯出版社),《導與練—信息技術系統(tǒng)復習》(浙江科學技術出版社),《計算機硬件組裝》(機械工業(yè)出版社)。倪俊杰,具有多年的高中任教經(jīng)驗,參與過教育部教育管理信息中心課題《基于移動互聯(lián)網(wǎng)的教育教學創(chuàng)新應用研究》以及浙江省教研室多個課題,擔任過“嘉興市個人教學問題專項課題”“嘉興市現(xiàn)代教育技術專項課題”等多個項目的負責人,獲得過“嘉興市教育科研成果三等獎”“桐鄉(xiāng)市教育科研成果一等獎”等多個獎項,主持編寫了《玩轉微課》(國家行政院出版社)和《在微信上建學!罚ㄖ貞c大學出版社)等著作。
第1章 緒論
1.1 計算機科學
1.2 計算機思維與編程
1.3 現(xiàn)代編程理念
第2章 Python面向對象程序設計
2.1 Python面向對象程序設計
2.2 基本對象類型
2.3 變量
2.4 運算符
2.5 函數(shù)
2.6 列表、元組、字典
2.7 流程控制
第3章 常用算法思想及其程序實現(xiàn)
3.1 算法的概念和表示
3.2 枚舉算法及其程序實現(xiàn)
3.3 排序算法及其程序實現(xiàn)
3.4 查找算法及其程序實現(xiàn)
3.5 遞推算法及其程序實現(xiàn)
3.6 遞歸算法及其程序實現(xiàn)
第4章 Python數(shù)據(jù)分析
4.1 數(shù)據(jù)分析基礎
4.2 數(shù)據(jù)導入
4.3 數(shù)據(jù)可視化
4.4 Python網(wǎng)絡爬蟲
4.5 數(shù)據(jù)挖掘
第5章 Python擴展應用
5.1 Python可視化編程
5.2 Python的擴展模塊
5.3 Python與數(shù)據(jù)庫連接(Access、MySQL)
5.4 Python與硬件連接
模擬卷(一)
模擬卷(二)
參考答案