1. 程式人生 > >大學生們顫抖吧,中學生已經開始學Python了!

大學生們顫抖吧,中學生已經開始學Python了!

0?wx_fmt=png

高中生學Python?這是開玩笑的吧?高中生能學會嗎?高中生學Python幹啥用?高中生應該怎麼學Python?高中學了Python的話大學還要再學嗎?

本文我來簡單回答一下大家可能的幾個疑問:

1、高中生為什麼要學Python?學了Python做什麼?

國外非常注重中小學的程式設計能力,可以說是真正的程式設計從娃娃抓起,從小就開始培養嚴謹的程式設計習慣,養成用計算機來解決問題的習慣。國內近十年來也慢慢注意到這個問題,認識到了中小學生學習程式設計的重要性和開設有關課程的必要性,並且在高中資訊科技課程中介紹了VB語言程式設計基礎。然而,很多教育工作者們慢慢發現VB並不適合高中資訊科技課程的教學(其實現在很多大學也已經取消了VB程式設計的課程),對大學的學習也沒有什麼太大幫助,無法快速解決相關領域的問題,難以適應資訊科技飛速發展的趨勢。

認識到這一點之後,浙江、北京等多個省市比較有眼光、有遠見的一部分教育工作者和有關領導在幾年前就開始尋找和反覆論證更適合中學生認知特點的程式語言,並最終確定了Python。目前,浙江、北京以及另外幾個省市已經確定將把Python程式設計基礎納入資訊科技課程和高考的內容體系

除了正常的學習之外,近幾年來很多高中生已經在課餘時間積極參加各種機器人、資料分析以及各種創新類的競賽並取得了不錯的成績,甚至部分作品質量已經超過了大學層本科次的某些競賽。而在中學階段的很多競賽中,都或多或少地用到了Python語言。實際上,在正式開設Python程式設計課程之前,已經有很多中學生在老師或者家長的指導下不同程度地接觸了Python語言

。毫無疑問,學習Python程式設計能為中學層面的各類競賽提供良好的支撐。

Python是一門開源的程式語言,有大量狂熱的愛好者在分享自己的程式碼和勞動成果,而分享也是Python精神之一。中學生學習Python,在更大程度上有利於養成分享和合作的良好習慣,而這對於以後的科研生涯和日常生活毫無疑問是非常重要的。

2、高中生能學會Python嗎?Python就真的那麼簡單嗎?

眾所周知,Python一向以簡單易學而著稱,其語法簡潔並且功能強大,程式設計模式符合人類思維習慣,非常適合描述和表達我們的思想,可以說是簡單到可怕。新手學習幾個月就可以快速實現特定領域的演算法並解決相關領域的實際問題,例如資料庫應用、網站開發、軟體逆向工程、網路爬蟲、遊戲開發、數字影象處理、人工智慧、大資料處理、深度學習等等,大幅度降低了學習和應用的成本,正所謂“人生苦短,我用Python

。其他語言需要幾十甚至上百行程式碼才能解決的問題,在Python中只需要短短几行程式碼,使用Python入門學習程式設計可以極大促進學生的興趣。當然,這除了熟悉Python之外,還需要了解相關領域背後的知識,但這不是高中階段學習的重點。

不管學習什麼,興趣雖然不是最重要的,但是沒有興趣是絕對不行的。在眾多程式語言中,除了功能強大之外,Python也確實比較容易入門,短短几行程式碼就可以實現了不起的功能,能夠快速引起學生的學習興趣,非常適合作為程式設計入門語言,中學生完全可以學會並快速掌握

3、高中生應該怎麼學Python?

為適應資訊科技的快速發展,滿足新形勢的要求,董付國老師與應根球老師於2016年11月開始反覆探討和論證,結合最新的高中資訊科技課程標準研製動向,於2017年11月合著出版了《中學生可以這樣學Python》(清華大學出版社,ISBN:9787302480396),詳情請參考本文附錄部分。

4、高中生就學Python了,大學生怎麼辦?還有必要再學一遍嗎?

一層功夫一層天汝果欲學詩,工夫在詩外。中學生開始學習Python,並不意味著大學就不需要學了。雖然高中的課程中已經接觸到了資料結構與演算法、資料庫、計算機網路、移動應用設計、開源硬體甚至人工智慧初步等知識,但是由於認知水平受限,一般並不涉及深層次的理論知識,也難以理解Python的內部原理和相關領域的高階應用。相應地,也就很難使用Python解決深層次的複雜問題,甚至有可能無法理解一些標準庫或擴充套件庫物件提供的某些引數的含義。而這些,將會是大學生學習的重點,結合所學專業來進一步理解Python和應用Python,而不是簡單地把Python再學一遍。

0?wx_fmt=png

================附錄=================

Python程式設計(基於Python2.7,目前已不再維護)、Python程式設計基礎(2015年8月出版,2017年9月第五次印刷)、Python程式設計(第2版)(2016年6月出版,2017年9月第四次印刷)、Python可以這樣學(2017年2月出版,2017年7月第三次印刷,該書已引入臺灣發行繁體版)、《Python程式設計開發寶典》(2017年8月出版,2017年10月第二次印刷)系列圖書之後,狂熱Python愛好者董付國老師的又一力作《中學生可以這樣學Python》正式出版,已在天貓(清華大學出版社官方旗艦店)、亞馬遜京東噹噹互動出版網淘寶等各大網上書店全面上架。

0?wx_fmt=png

本書特色

針對性強。本書內容緊密結合高中資訊科技課程,對課程中的內容進行深入講解,並進行適當的擴充套件,同樣也適用於高年級初中生閱讀。

程式碼緊跟Python最新版本。書中所有程式碼適用於Python 3.4.xPython 3.5.xPython 3.6.x,以及將要釋出的Python 3.7.x

例題豐富、程式碼純正、講解透徹。書中所有例題都配有相應的解析和原始碼,並且對重要的原始碼都加了註釋來說明程式碼思路以方便理解。

形式多樣化、內容立體化。書中重點內容通過圓點進行了標記,並通過小技巧、小提示、注意等形式方便閱讀和理解;另外,書中所有例題和案例都配有相應的二維碼,通過掃描可以快速下載原始碼,減少程式碼輸入時間,節約寶貴的學習時間。

內容簡介

全書共11章,以Python 3.5.x為主進行介紹,同時相容Python 3.4.x,並考慮了Python 3.6.x的部分新特性,重點介紹Python基本語法以及常用內建物件和標準庫物件的用法。1介紹Python開發環境,程式設計規範與程式碼優化建議,擴充套件庫安裝,標準庫與擴充套件庫的匯入和使用。2介紹Python基本資料型別、運算子與內建函式,mathrandomtkinter等常用標準庫。3介紹常用的選擇結構語法和應用。4介紹for迴圈與while迴圈,break語句和continue語句。5介紹列表、元組、字典、集合和字串等常用序列結構,列表推導式與生成器推導式,序列解包,切片。6介紹函式基本用法,函式引數,變數作用域,函式遞迴呼叫,lambda表示式。7介紹面向物件程式設計的有關知識。8介紹解析演算法、列舉演算法、遞推演算法、遞迴演算法、排序演算法以及查詢演算法的原理與Python實現。9介紹SQLite資料庫以及Python操作SQLite資料庫的方法。10介紹大資料處理基礎以及Spark程式設計基礎知識。11通過電子時鐘、猜數遊戲、通訊錄管理程式和溫度單位轉換這四個綜合案例介紹Python的專案開發過程。

前言

Python語言Guido van Rossum1989年底開始設計並於1991公開發行,比Java語言面世還要早4Python推出不久就迅速得到各行業人士的青睞,在程式語言排行榜上的名次也不斷上升。20111PythonTIOBE網站評為2010年度語言201412月份IEEE Spectrum推出的程式語言排行榜中,Python取得了第5位的好名次2015年和2016年連續兩年PythonTIOBE程式語言排行榜上一直穩居第4位,僅次於JavaCC++Top developer Languages of 2015更是把Python排到了第3位。

經過30年的發展,Python已經滲透到統計分析、移動終端開發、科學計算視覺化、系統安全、逆向工程軟體測試與軟體分析、圖形影象處理、人工智慧、機器學習深度學習、遊戲設計與策劃、網站開發、資料爬取與大資料處理、密碼學、系統運維、音樂程式設計、影視特效製作、計算機輔助教育、醫藥輔助設計、天文資訊處理、化學、生物資訊處理、神經科學與心理學、自然語言處理、電子電路設計、電子取證等幾乎所有專業和領域,在黑客領域更是一直擁有霸主地位。

著名搜尋引擎google的核心程式碼使用Python實現,迪尼公司的動畫製作與生成採用Python實現,幾乎所有UnixLinux作業系統都預設安裝了Python直譯器,豆瓣網使用Python作為主體開發語言進行網站架構和關應用的設計與開發,網易大量網路遊戲的伺服器端程式碼超過70%採用Python進行設計與開發,易度的PaaA企業應用雲端開發平臺和百度雲端計算平臺BAE也都大量採用了Python語言,eBay已經使用Python超過15年以上,美國宇航局使用Python實現了CAD/CAE/PDM庫及模型管理系統,Yahoo使用Python建立全球範圍的站點群,微軟整合開發環境Visual Studio 2015開始預設支援Python語言,開源ERP系統Odoo完全採用Python語言開發,樹莓派使用Python作為官方程式語言,引力波資料是用Python進行處理和分析的,TensorFlow等大量深度學習框架都提供了Python介面,YouTube、美國銀行也在大量使用Python進行開發,類似的案例數不勝數。

Python是一門免費、開源的跨平臺解釋型高階動態程式語言,支援指令式程式設計、函數語言程式設計面向物件程式設計,擁有大量功能強大的內建物件、標準庫涉及各行業領域的擴充套件庫,使得各領域的工程師、科研人員策劃人員甚至管理人員能夠快速實現驗證自己的思路創意或者推測在有些程式語言中需要編寫大量程式碼才能實現的功能,在Python中直接呼叫內建函式或標準庫方法即可實現,大幅度減少了程式碼量,更加方便程式碼閱讀和維護。Python使用者只需要把主要精力放在業務邏輯的設計與實現上,開發速度和執行效率之間達到了完美的平衡,其精妙之處令人擊節讚歎。

內容組織與閱讀建議

全書共11章,其中應根球老師負責編寫了2.4.42.4.511.4節的內容,並在全書內容組織過程中提供了大量非常好的思路和建議。本書重點介紹Python基本語法和內建物件的用法,以Python為載體介紹了中學階段常用的演算法,以及資料庫操作和大資料處理的一些基礎知識。書中設計了大量例題和原始碼,並配有相應的例題解析和程式碼註釋,建議不要錯過任何一個知識點,反覆閱讀和認真體會Python語言的奧妙,並親自動手輸入和除錯這些程式碼。如果某段程式碼暫時看不懂的話,很可能是使用到了後面的知識,因此我個人更建議大家把全書內容快速瀏覽一遍,先了解大概有哪些知識,然後再從頭到尾仔細閱讀並在必要的時候翻閱相關章節。

第1章介紹Python語言程式設計規範與程式碼優化建議,開發環境配置,擴充套件庫安裝,標準庫與擴充套件庫物件的匯入和使用。

第2章介紹Python基本資料型別、運算子與內建函式的用法,mathrandomdatetimetkinter等常用標準庫的用法。

第3章介紹常用的選擇結構語法和應用。

第4章介紹for迴圈與while迴圈,break語句和continue語句的用法。

第5章介紹列表、元組、字典、集合、字串等常用序列結構,列表推導式與生成器推導式,序列解包與切片操作。

第6章介紹函式基本用法,函式引數,變數作用域,函式遞迴呼叫,lambda表示式。

第7章介紹類的定義與例項化,資料成員與成員方法,私有成員與公有成員,類方法與靜態方法。

第8章介紹解析演算法、列舉演算法、遞推演算法、遞迴演算法、排序演算法以及查詢演算法的原理與Python實現。

第9章介紹SQLite資料庫、常用SQL語句以及Python操作SQLite資料庫的方法。

第10章介紹大資料處理基礎、大資料特徵以及pySpark程式設計基礎知識。

第11章通過電子時鐘、猜數遊戲、通訊錄管理程式和溫度單位轉換等綜合案例介紹Python的專案開發過程。

配套資源

本書提供所有案例原始碼

本書適用讀者

本書可以作為(但不限於):

l中學“資訊科技”課程配套閱讀資料。

lPython入門參考書。

感謝

感謝每一位讀者,感謝您在茫茫書海中選擇了本書,衷心祝願您能夠從本書中受益,學到真正需要的知識!祝願每一位同學都能考上理想的大學,同時也期待大家的熱心反饋,隨時歡迎您指出書中的不足!

本書在編寫出版過程中也得到清華大學出版社的大力支援和幫助,尤其是非常有遠見的責任編輯白立軍老師對這套Python系列圖書的策劃,一併表示衷心的感謝。

董付國于山東煙臺

----------喜大普奔----------

1、繼《Python程式設計基礎》(2017年9月第5次印刷)、《Python程式設計(第2版)》(2017年9月第4次印刷)、《Python可以這樣學》(2017年7月第3次印刷)系列圖書之後,董付國老師新書《Python程式設計開發寶典》(2017年10月第2次印刷)。為慶祝新書《Python程式設計開發寶典》全面上架,清華大學出版社聯合“贛江圖書專營”淘寶店推出特價優惠活動,《Python程式設計開發寶典》原價69元,新書上架期間超低價39.8元,可以複製下面的連結使用瀏覽器開啟檢視圖書詳情和購買:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3

3、董老師免費視訊地址: http://pan.baidu.com/s/1c14WYn2 密碼: 9xwr

4、董老師收費視訊課:

CSDN學院:http://edu.csdn.net/search?keywords=%E8%91%A3%E4%BB%98%E5%9B%BD&type=0

龍果學院:http://www.roncoo.com/course/list.html?courseName=Python%E5%8F%AF%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%AD%A6