米偉娟
(河北傳媒學院信息技術與文化管理學院,河北 石家莊 051430)
Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,是由Guido van Rossum 在80 年代末至90 年代初,在Netherlands National Institute of Mathematics and Computer Science 設計出來的。這門語言自己也吸收了很多不同編程語言的精華,包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell和其他的腳本語言等等,發(fā)展到現(xiàn)在,Python以其優(yōu)美、清晰、簡單的特性在全世界內(nèi)廣泛流行,成為最主流的編程語言之一。截止2019 年6 月,Python 在TIOBE 流行編程語言排行榜中的排名已經(jīng)上升到第三名,創(chuàng)下了新紀錄,使用率達到8.530%,超過C++的7.384%。TIOBE 表示,Python 之所以排名快速上升,是因為軟件工程正在蓬勃發(fā)展,而Python 作為一門簡潔而有效的編程語言吸引了很多新手進入開發(fā)領域。它在過去5 年中采用率增長最多,達到了17.6%,并且還在呈增長趨勢。
第一,Python 語言的關鍵詞比較簡潔,因此框架基礎,規(guī)則十分清晰,使用時十分方便。第二,Python 語言程序行注釋很明了,因此能夠輕松閱讀。第三,Python 語言的廣泛傳播的主要原因是后臺數(shù)據(jù)是易于使用且修改的。第四,Python語言支持引入部分C/C++語言,使用戶可以隨心而用。第五,Python 語言的具備多種內(nèi)庫,并且支持連接外庫,在UNIX、Windows和Macintosh都有其適配的版本。第六,易于調(diào)試,支持放入設定好的條件并給出程序結(jié)果,同時支持多次性能試驗和運行部分程序。第七,因為Python 語言有開放的github 等平臺,可以在其他相似的項目中直接引用。第八,在Python 程序中可以直接調(diào)用C 或C++完成編程,從而可以保證關鍵算法的私密性。第九,Python 可以直接接入許多主流商業(yè)DB,使用其數(shù)據(jù)。第十,Python 可以GUI 編程,能夠在許多版本直接寫入和引調(diào)。
經(jīng)過十幾年的發(fā)展,Python 語言的被廣泛的應用在許多學科,如Web 應用開發(fā)、自動化運維、深度學習、網(wǎng)站爬蟲、科學計算和游戲開發(fā)等方面。其最主要的應用是在三方面:Web 應用開發(fā)、人工智能、自動化運維。
在Web 應用開發(fā)方面,隨著Python 語言的Web 開發(fā)框架逐漸成熟(例如Django、Flask、TurboGears、web2py 等等),常見的開發(fā)庫Django 和Flask 主要用來搭建網(wǎng)頁框架,程序員可以更簡潔地開發(fā)和管理復雜的Web 程序。例如谷歌的搜索引擎是用Python 語言構(gòu)建框架,國內(nèi)的豆瓣也是用Python 語言搭建的框架,此外例如Youtube、百度、新浪、搜狐、騰訊、阿里、網(wǎng)易、淘寶、知乎、豆瓣、汽車之家、美團等等許多大中型互聯(lián)網(wǎng)企業(yè)都在使用Python 語言完成各種各樣的架構(gòu)模式。
在深度學習方面,深度學習發(fā)展的基礎是大數(shù)據(jù)分析和機器的神經(jīng)網(wǎng)絡算法,而Python 語言在這個區(qū)域的利用最為豐富。網(wǎng)絡爬蟲屬于數(shù)據(jù)挖掘類別的方向,爬蟲方向有urllib、Selenium、BeautifulSoup等多種工具庫,及其scrapy整體架構(gòu);數(shù)據(jù)分析方向(含科學計算)包括NumPy、SciPy、Matplotlib、pandas 等功能強大的庫,因此可以很輕松的完成大數(shù)據(jù)所需要的計算分析,數(shù)據(jù)分析因此成為Python語言的主要應用方向;機器學習方向,世界上許多最優(yōu)秀的人工智能學習框架是由Python 語言編程實現(xiàn)的,例如 Google 的TensorFlow(神經(jīng)網(wǎng)絡框架)、FaceBook的PyTorch(神經(jīng)網(wǎng)絡框架)以及開源社區(qū)的Karas 神經(jīng)網(wǎng)絡庫和scikit-learn 等。除此之外。還有多模態(tài)生物識別、自動應答與推薦、物網(wǎng)結(jié)合等方面的引入。深度學習領域的熱門使Python 語言的地位占據(jù)先列。
在自動化運維方面,需要的是能夠執(zhí)行簡單任務自動化的小程序,而非功能復雜的大型程序。其體現(xiàn)的是編制腳本的功效,因此Python 語言因其相對簡單的語法和易于編寫的特性被因運維工程師所青睞。
數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè),簡稱數(shù)據(jù)科學或大數(shù)據(jù),旨在培養(yǎng)具有大數(shù)據(jù)思維、運用大數(shù)據(jù)思維及分析應用技術的高層次大數(shù)據(jù)人才。掌握計算機理論和大數(shù)據(jù)處理技術,從大數(shù)據(jù)應用的三個主要層面(即數(shù)據(jù)管理、系統(tǒng)開發(fā)、海量數(shù)據(jù)分析與挖掘)系統(tǒng)地培養(yǎng)學生掌握大數(shù)據(jù)應用中的各種典型問題的解決辦法,有效提升學生處理實際題目的速度,具有將領域知識與設計算法的能力和大數(shù)據(jù)技術融合、創(chuàng)新的素質(zhì),能夠從事大數(shù)據(jù)研究和開發(fā)應用的高層次復合型人才。目前,數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)屬于交叉學科,以統(tǒng)計學、數(shù)學、計算機為三大支撐性學科;生物、醫(yī)學、環(huán)境科學、社會學等為應用拓展性學科。此外還需學習數(shù)據(jù)采集、分析、處理軟件,學習數(shù)學建模軟件及計算機編程語言等,知識結(jié)構(gòu)是二專多能復合的跨界人才。
Python 課程應設置為數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)一門主要課程,因為Python在處理大量數(shù)據(jù)時具有高效率、自動化、可運用算法建立數(shù)據(jù)模型等特點。在計算量有限時,表格和Python 的計算維度相似,在當計算量較大或者引入較多復雜公式時,表格就會變得很慢,Python 對于復雜計算的運行時間或迭代次數(shù)會明顯低于表格。Python 具備程序編寫所需要的所有條件,因此對于大數(shù)據(jù)也十分適用,數(shù)據(jù)分析編程包含的引入數(shù)據(jù)庫、構(gòu)建圖表、建立算法模型等,在Python 中都有相應的部分與之對應,可以直接調(diào)用。
就學生而言,可以學習到Python 編程培訓對其理解從基礎語法到完整分布式編程有著劇組親中的作用,對于目標的思路和編程的起承轉(zhuǎn)合流程的方法會有自己獨特的思考。Python 語言的教育好比是為了構(gòu)建出每個人編程知識樹的主干,每遇到新的問題都可以用已有的編程語言知識消化吸收。若有困惑,可通過網(wǎng)絡或老師等途徑答疑解惑,使認知能力更上一層樓,從而使書本上的知識真正轉(zhuǎn)化為自己的能力,日積月累,語句的編寫越來越迅捷,規(guī)范性強并邏輯清晰,框架完整,學生逐漸可以做到熟能生巧,將不同的語言潛移默化的理解到位。之后可以將所學的內(nèi)容在實際項目里實踐使用,查缺補漏,逐漸成為一名優(yōu)秀的程序設計師。
隨著科技產(chǎn)業(yè)發(fā)展持續(xù)簡潔化、高科技化,其依賴的底層設計必然越來越完整化、細化,同時基礎程序的高性能、高兼容、低崩潰就成了對每一個合格程序員的新要求。因此程序員的選拔與考核標準都會更為嚴苛,淘汰率也會更高。所以,中國的計算機專業(yè)的大學生應在學生時代就基本具備一個合格的程序員的能力,對編程培養(yǎng)興趣與熱愛,從而自發(fā)地不斷提高編程水平,并以之為終生目標,每個新生帶力量的強大即為國家、社會未來的強大。一隨之而來的是軟實力的質(zhì)變,因為基數(shù)和興趣都得到提升,一定會同時醞釀新技術的革新,從而激發(fā)創(chuàng)造力的噴發(fā)。綜上所述,在高校完成合格的Python 編程培訓能夠從個人到國家都受到益處,切實落實科教興國的方針政策。在當今社會,人工智能和深度學習盛行,為了不落后于行業(yè)平均水平,將數(shù)據(jù)化變革引入企業(yè)已經(jīng)成為新的熱門趨勢,這給很多軟件創(chuàng)新帶來新的機遇,學生必須具備與之相匹配的能力,如可以建立行業(yè)專用數(shù)據(jù)庫和運算庫等專屬編程框架,將至引入github 平臺,使其他行業(yè)從業(yè)者也可方便調(diào)用,從而以一點帶動整個行業(yè)進步與發(fā)展。這支持了許多行業(yè)的改革換代與加速發(fā)展,這些行業(yè)的發(fā)展會加速社會市場經(jīng)濟的發(fā)展,從而對數(shù)據(jù)分析行業(yè)帶來正反饋,加速整體社會結(jié)構(gòu)的高科技化轉(zhuǎn)型。
去年上半年,一篇教育部下發(fā)的《2018 年度普通高等學校本科專業(yè)備案和審批結(jié)果的通知》顯示,人工智能專業(yè)至此正式進入本科專業(yè)范圍,全國共有35 所高校獲首批建設資格。人工智能專業(yè)內(nèi)的Python 課程,工程方向注重的是封裝細節(jié)提升開發(fā)效率,而底層方向注重的是暴露細節(jié)提升運行效率。顯然,程序設計這種注重編程思想以及可維護性的課,引入Python 更合適。深度學習、物網(wǎng)結(jié)合、數(shù)據(jù)分析等編程熱門領域的核心與地基都編程語言,因此對于各類計算機語言的低齡化培養(yǎng)顯得更為必要。Python 課程在數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)中的引入具有重要意義。