張 鵬
(唐山職業(yè)技術(shù)學(xué)院,河北 唐山 063000)
在當(dāng)前人工智能、大數(shù)據(jù)技術(shù)的快速發(fā)展下,數(shù)據(jù)的分析與運用已經(jīng)成為首要的問題。由于傳統(tǒng)的C、Java語言,與數(shù)據(jù)分析存在一定的距離,已經(jīng)不適合當(dāng)下的選擇。而Python語言,其簡單易學(xué)、應(yīng)用領(lǐng)域廣等特點,更利于作為程序設(shè)計語言的入門語言,以此來激發(fā)起學(xué)生的積極、主動學(xué)習(xí)興趣,加快學(xué)生的學(xué)習(xí)速率,同時有利于培養(yǎng)學(xué)生的計算思維能力,促使學(xué)生更加靈活的運用計算機(jī)解決問題,從而確保程序設(shè)計語言教學(xué)的效果有效提升。
由于人工智能、物聯(lián)網(wǎng)及大數(shù)據(jù)的興起,Python語言成為當(dāng)下最受歡迎的人工智能編程語言,其人工智能+Python已經(jīng)廣泛應(yīng)用眾多領(lǐng)域,包括谷歌的無人機(jī)、阿爾法狗、小冰、沃森及蘋果siri等等。目前很多高校都是以傳統(tǒng)的C、C+及Java作為學(xué)生編程的入門語言,雖然這一直占據(jù)計算機(jī)編程語言中的重要位置,但是其兼顧性能采用的語法規(guī)則十分復(fù)雜,不便于學(xué)生快速的掌握[1]。同時在當(dāng)前人工智能時代下,已經(jīng)不是最佳的選擇。而Python是一種可解釋性的語言,簡單、易學(xué),與其他主流編程語言相比更易上手,具有較強(qiáng)的可讀性,尤其適合編程初學(xué)者,所以將其作為程序設(shè)計入門語言,是一種免費開源語言,具有豐富的第三方類庫,以此來高效的開發(fā)各種的應(yīng)用。
Python語言的優(yōu)點主要體現(xiàn)在幾個方面:1)戰(zhàn)略定位十分明確,其簡單嚴(yán)謹(jǐn),并且易用專業(yè),注重解決問題不是語言本身。也就是說作為一名膠水語言,可以方便的調(diào)用其他語言編寫功能模塊,以此來形成簡單、強(qiáng)大的新程序。2)軟件質(zhì)量高,由于Python簡單、優(yōu)雅,并且強(qiáng)調(diào)程序的可讀性與一致性,能夠建立面向?qū)ο蟪绦蚓幊趟枷?,進(jìn)一步增強(qiáng)代碼的可重用性、可維護(hù)性[2]。3)具有較強(qiáng)的開發(fā)效率,因為Python的語法比較簡單,不需要局限在一些條條框框的語法規(guī)則之中,這對程序員非常友好,易于上手。而且自帶的各種模塊、豐富的第三方庫,有助于開發(fā)者用更好的代碼量,去實現(xiàn)其強(qiáng)大的功能。4)具有可移植性,通常Python的開發(fā)環(huán)境與配置簡單,其mac、Linux和環(huán)境都內(nèi)置Python,程序不需要做任何的變動,能夠在不同的平臺上直接的運行。5)標(biāo)準(zhǔn)庫強(qiáng)大:Python的資源十分豐富是,其強(qiáng)大的標(biāo)準(zhǔn)庫作為支撐,能夠解決各種問題的類庫,以便輕松的完成相對復(fù)雜的編程問題,
實現(xiàn)高效的開發(fā)各種應(yīng)用。同時在數(shù)據(jù)的分析、抓取與展示等方面,都有強(qiáng)大、堅實的基礎(chǔ)設(shè)施,從而構(gòu)建開放的生態(tài)環(huán)境。
可以說,大數(shù)據(jù)時代主要面臨著分析、運用獲取的海量數(shù)據(jù)這一機(jī)遇。而Python語言善于獲取數(shù)據(jù)、分析數(shù)據(jù)與運用數(shù)據(jù),因此這就可以借助Python去進(jìn)一步強(qiáng)化數(shù)據(jù)的咯用、處理能力,以此來增強(qiáng)對大數(shù)據(jù)發(fā)展規(guī)律的掌握,確保數(shù)據(jù)在各項的應(yīng)用中發(fā)揮其強(qiáng)大的作用。
計算機(jī)程序,就是將用戶的輸入,按照待定的需求進(jìn)行輸出的轉(zhuǎn)換過程。也就是說輸入與輸出是計算機(jī)的基本功能。通常用C語言、Java語言及Python語言,進(jìn)行從鍵盤輸入兩個整數(shù),實現(xiàn)這兩個數(shù)的求和[3]。所以不難發(fā)現(xiàn),C語言是需要依賴程序員的自身編程能力,而Java的語言其語法十分冗長,只有Python注重程度的可讀性與一致性,并增強(qiáng)程序的間接性,抽象化很多內(nèi)容,有利于開發(fā)者更多的專注于業(yè)務(wù)的邏輯,而不僅僅是關(guān)心語法的結(jié)構(gòu)細(xì)節(jié)、代碼的行數(shù)少,從而用更少的代碼去完成更多的工作,這是最便于學(xué)生入門學(xué)習(xí)的一種語言。
當(dāng)前微信作為一種人們互相聊天、生活分享的一種方式,會通過微信朋友圈發(fā)布有意思的文章、事情以及自己的日常生活。而朋友圈中比較有趣的就是各個好友的個性簽名,如若以這些好友的個性簽名作為數(shù)據(jù)源,去獲得所有好友的個性簽名信息。首先,獲取數(shù)據(jù),借助Python中的itchat庫,對所有的好友個性簽名數(shù)據(jù)進(jìn)行獲取,其Itchat庫能夠兼容微信個人賬號的API接口,以便更加便捷的獲取微信的數(shù)據(jù)信息[4]。其次,因為獲得的個性簽名數(shù)據(jù)中,有表情符號等非文字的信息,所以此時就需要對數(shù)據(jù)進(jìn)行預(yù)處理,運用正則的表達(dá)式,將無關(guān)的表情與符合加以替換,最終得到所有好友的純文字內(nèi)容的個性簽名信息。
因此運用Python語言,通常僅僅需要10行左右的代碼即可完成,去獲取與清洗所有好友個性簽名的數(shù)據(jù)。而C語言、Java語言如若完成該項操作,就具有較大的難度,需要調(diào)用底層的驅(qū)動程序,而且在讀取與分析Excel數(shù)據(jù)時也比較復(fù)雜,但是Python語言中有很多現(xiàn)成,可以直接利用的數(shù)據(jù)分析庫,比如pandas,以此來更加快速、便捷的讀取Excel、Csv等格式的數(shù)據(jù)。加之scikit的機(jī)器學(xué)習(xí)庫,支持分類和聚類,以及回歸等更加強(qiáng)大的數(shù)據(jù)挖掘算法,從而對獲取的數(shù)據(jù)以最快的速度進(jìn)行分析。
由于Python作為入門程序設(shè)計語言,提供了豐富的用戶交互界面,能夠直觀的了解到數(shù)據(jù)的分布形態(tài),具有很多繪制圖形的標(biāo)準(zhǔn)庫。比如matpotlib庫,其強(qiáng)大的可視化,支持繪制的散點圖、條形圖與折線圖等一些二維、三維的圖形,而程序員只需要進(jìn)行加載,就能實現(xiàn)函數(shù)功能與現(xiàn)有庫的調(diào)用,以此來節(jié)省更要多編寫大量復(fù)雜底層代碼的過程與時間。
比如根據(jù)微信好友個性簽名信息數(shù)據(jù),去繪制其詞云圖,也就是文字云,對文本中出現(xiàn)頻率較高的詞語可視化展示。首先將獲取的數(shù)據(jù)進(jìn)行字符串的拼接,其次進(jìn)行jieba分詞,并且調(diào)動wordcloud庫函數(shù)繪制相應(yīng)的詞云圖,從而生成出一個文字云。
綜上所述,將Python作為入門程序設(shè)計語言,能夠有效的激發(fā)起學(xué)生對程序編寫的興趣,同時降低其代碼編寫的難度,為后續(xù)的程序設(shè)計語言學(xué)習(xí)奠定好基礎(chǔ)。通過教師運用Python語言,將高性能與簡單、有趣的編寫程序有效結(jié)合,易于學(xué)生上手學(xué)習(xí),以便其用最少的代碼、快速的完成復(fù)雜的實際應(yīng)用,幫助學(xué)生積累豐富的程序編寫經(jīng)驗與技巧,以此來培養(yǎng)學(xué)生的計算思維能力,促使學(xué)生更加靈活的運用計算機(jī)解決問題,從而實現(xiàn)學(xué)生的高質(zhì)量編程學(xué)習(xí)。