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