編者注: 根據(jù)維基百科的解釋,'Python是一種廣泛使用的高級(jí)編程語言,由吉多·范羅蘇姆創(chuàng)造,第一版發(fā)布于 1991 年。Python 的設(shè)計(jì)哲學(xué)強(qiáng)調(diào)了代碼的可讀性和簡(jiǎn)潔的語法。' 隨著大數(shù)據(jù),人工智能的興起,越來越多的人也開始研究起這門語言。以下這篇文章編譯自Alexus Strong 在在線學(xué)習(xí)編程網(wǎng)站Codecademy上發(fā)表的文章Why I’m Learning Python in 2018 我們可能會(huì)說,Python在2017年“出了一陣風(fēng)頭”。畢竟該語言最近的發(fā)展趨勢(shì),令人難以忽視。 主要編程語言的增長(zhǎng)趨勢(shì) 圖片來自 Stack Overflow 然而,“出了風(fēng)頭”意味著對(duì)該語言的興趣可能會(huì)被放緩。 但有什么理由會(huì)讓人相信明年的這個(gè)時(shí)候Python將不會(huì)受歡迎呢? 這是我想要回答的問題。 為什么? 簡(jiǎn)而言之,我正在尋找一種新的編程語言。 我在大學(xué)里學(xué)了幾門Java課程,但我好幾年沒用過。 我學(xué)習(xí)了HTML和CSS, 但我現(xiàn)在正在尋找一種可以用于Web開發(fā)以外的語言。 最重要的是,我要確保今天學(xué)習(xí)的東西在今后五年也能用上。 所以,不僅為我自己,為了每一位學(xué)員,我決定深入探討一下Python之興起背后的原因,來試圖了解為什么今天有這么多的人在學(xué)習(xí)該語言,明年是否還是同樣的理由,這些答案對(duì)你,對(duì)我以及我們的事業(yè),又意味著什么。 Python的興起編程語言總是來了又去了。 Python最近的受歡迎程度,令人著迷。不久前,很多人認(rèn)為它已經(jīng)死了。 1999年,Perl編程語言的創(chuàng)始人拉里·沃爾(Larry Wall)向其堅(jiān)實(shí)的粉絲們發(fā)表了他的第三個(gè)年度主題演講。 在演講中,他公布了在職業(yè)網(wǎng)站dice.com上繪制的對(duì)各種語言的需求: 圖片來源: wall.org 正如你所看到的,那時(shí)Python沒有被登記。作為一個(gè)很偏門的語言,Python當(dāng)時(shí)幾乎沒有什么知名度。沃爾特稱:“對(duì)Python程序員或許根本沒什么大量需求,而且,Python程序員很容易找到,根本不用在dice.com登廣告。” 有趣的是Python變得更強(qiáng)大了。 去年秋天,堆棧溢出(Stack Overflow)證實(shí),在他們的網(wǎng)站上,有關(guān)Python問題的訪問者的數(shù)量,增長(zhǎng)得比其他任何語言的都快,這讓Python有資格聲稱它是世界上增長(zhǎng)最快的主要編程語言之一。 在Codecademy上注冊(cè)免費(fèi)Python課程的用戶人數(shù),也顯示出對(duì)這一說法的支持 - 目前正在Codecademy上學(xué)習(xí)Python的用戶數(shù)量比去年同期增加了34%。 那么,為什么該語言如此迅速地受到歡迎呢? 圖片來源: languagehealth.com 為什么是Python?Stack Overflow將其歸結(jié)為一個(gè)主要原因:Python的興起與人們對(duì)數(shù)據(jù)科學(xué)興趣的興起相關(guān)。 他們的分析非常吸引人,值得一讀,但是太長(zhǎng)了,別讀了:D, 簡(jiǎn)而言之,“Python在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)方面的普及可能是其快速發(fā)展的主要?jiǎng)恿??!蔽也粫?huì)多費(fèi)口舌來介紹了,這兩項(xiàng)是 2017年最令人矚目的技術(shù)趨勢(shì)。 不過,這里仍有一個(gè)重大問題。 有其他大量編程語言,如SQL和R,可以在數(shù)據(jù)科學(xué)領(lǐng)域一展拳腳。 但為什么這么多人選擇了Python呢? 一個(gè)主要的因素是Python的多功能性。 有超過125,000的第三方Python庫(kù)。 這些庫(kù)使得Python從從事傳統(tǒng)的(例如web開發(fā),文本處理) 到最新的(例如AI和機(jī)器學(xué)習(xí))特定任務(wù)變得更為上手。 例如,生物學(xué)家可能會(huì)使用Biopython庫(kù)來幫助他們進(jìn)行基因測(cè)序。 此外,Python已經(jīng)成為數(shù)據(jù)分析的首選語言。 對(duì)于像pandas,NumPy和matplotlib這樣以數(shù)據(jù)為中心的庫(kù),任何熟悉Python語法和規(guī)則的人都可以將其部署為處理,操作和可視化數(shù)據(jù)的強(qiáng)大工具。 我們的數(shù)據(jù)分析課程開發(fā)人員和Codecademy的首席數(shù)據(jù)科學(xué)家Hillary Green-Lerman每天都在使用這些Python庫(kù)。 作為一名數(shù)據(jù)科學(xué)家,她將Python描述為一種編程語言中“一種非常美妙的,吸取了各種長(zhǎng)處的工具”。 “如果你想做簡(jiǎn)單的事情,那可能是一行代碼。 如果你想做一些非常復(fù)雜的事情,你也能很好地控制它。“ 鑒于其對(duì)數(shù)據(jù)分析的多功能性和適用性,一個(gè)每一天都變得越來越重要的技能,我很清楚,Python將占據(jù)重要位置。 所以如果對(duì)數(shù)據(jù)的讀寫是我的首要任務(wù)之一,那我應(yīng)該開始使用Python嗎? 主修商科的人學(xué)習(xí)PythonHillary把Python稱為編程語言中“一種非常美妙的,吸取了各種長(zhǎng)處的工具”,因?yàn)樗梢宰鏊枰臇|西,但她是一名專業(yè)的數(shù)據(jù)科學(xué)家。 我不是,所以我的要求和她的要求會(huì)有些不同。 Python能否給像我這樣的人的帶來任何好處呢? 我不想為了成為一名數(shù)據(jù)科學(xué)家,或是軟件工程師而學(xué)習(xí)Python。 相反,我的目標(biāo)更專注于提高對(duì)數(shù)據(jù)分析的掌握水平,為Web開發(fā)使用編程的技能,或是為我今后職業(yè)生涯中可能出現(xiàn)的任何其他技術(shù)需求而做好準(zhǔn)備。 我不是唯一一個(gè)有這種想法的人。 越來越多尋求編程知識(shí)的人不希望成為全職的軟件開發(fā)人員或數(shù)據(jù)科學(xué)家。 相反,營(yíng)銷人員,項(xiàng)目經(jīng)理和企業(yè)家等一些專業(yè)人士正在使用編程的技巧來更好地從事他們的工作。 這些人或是正在尋找最新的知識(shí),或是沒有時(shí)間為每個(gè)目的而學(xué)習(xí)一種新的編程語言。 Python在非技術(shù)領(lǐng)域吸引了我們這些人,在不受任何限制的情況下,它可以輕松地實(shí)現(xiàn)數(shù)據(jù)分析功能,這成為商業(yè)世界中越來越重要的技能。 福布斯報(bào)道說,“數(shù)據(jù)驅(qū)動(dòng)的決策越來越受歡迎。 而在過去的幾年里,分析師們一直在使用像Excel這樣的軟件來分析數(shù)據(jù),只有學(xué)者才會(huì)轉(zhuǎn)向SPSS,Stata等工具,現(xiàn)在這種情況正在改變。 即使作為一名內(nèi)容營(yíng)銷人員,根據(jù)市場(chǎng)營(yíng)銷專家Andrew Chen的說法,通過學(xué)習(xí)數(shù)據(jù),我可以更好地工作。 “增長(zhǎng)黑客“的新職位正在融入硅谷的文化,強(qiáng)調(diào)編碼和懂得技術(shù)正成為一個(gè)偉大的營(yíng)銷人員的重要組成部分。 陳說,增長(zhǎng)黑客是營(yíng)銷和編碼的混合體。 “他們將直接營(yíng)銷的側(cè)重點(diǎn)置于量化測(cè)量的基礎(chǔ)上,通過電子表格來進(jìn)行模型設(shè)計(jì)以及大型的數(shù)據(jù)查詢工作?!?/p> 當(dāng)你讀到“數(shù)據(jù)庫(kù)查詢”時(shí),會(huì)想到SQL,Python和R。 學(xué)習(xí)Python,似乎是許多做類似像我這樣工作的人已經(jīng)采取了的行動(dòng)。 所以,下一個(gè)問題:我可以學(xué)習(xí)Python嗎? 正如我前面提到的,我的編碼技能沒有什么可寫的。 謝天謝地,Python是學(xué)習(xí)編程的首選語言。 原因很簡(jiǎn)單,它直接,而且有很多已經(jīng)建立起來的免費(fèi)資源,使得學(xué)起來很容易上手。 它有些近似嚴(yán)格的語法規(guī)則使它保持了代碼的一致性,所以不同人之間的代碼看起來相似。 即使是缺乏經(jīng)驗(yàn)的人,也可以很方面的去閱讀。 假設(shè)我想用Python 3打印下面一段。我會(huì)寫: print (“On the other hand, if I wanted to print the next paragraph in C++, I would have to write:”) #include int main() { std::cout < 'all="" of="" that’s="" to="" say,="" python="" is="" pretty="" simple="" in=""> } Python社區(qū)也很歡迎菜鳥程序員。 正如Hillary所描述的那樣,語言本身和圍繞它的社區(qū)有這樣的態(tài)度:”不要擔(dān)心,如果出現(xiàn)問題,我們會(huì)保護(hù)你?!?/p> 盡管Python對(duì)于初學(xué)者來說非常棒,但它也擁有完成高級(jí)工作所需的全部功能。 Hillary每天都在使用Python來處理和分析數(shù)百萬來自Codecademy的學(xué)員的數(shù)據(jù),她說:“你真的可以用Python做所有事情,有許多真正的,嚴(yán)謹(jǐn)?shù)娜嗽谑褂盟?。”她繼續(xù)說:“Python會(huì)和你一起成長(zhǎng)。開始會(huì)很容易,但當(dāng)有一天,你決定要做自然語言處理,機(jī)器學(xué)習(xí)或者TensorFlow時(shí),它也會(huì)變得非常相關(guān)。 你也可以做到這一切,因?yàn)樗且粋€(gè)完整的語言。“ 在我們的“2017年全球未來工作報(bào)告”中,我們發(fā)現(xiàn),我們的學(xué)員正朝著Python方向發(fā)展,然后就沒再離開。 已經(jīng)使用Codecademy學(xué)習(xí)過其他語言的人(40%)要學(xué)習(xí)Python, 這比學(xué)習(xí)過Python的人要學(xué)習(xí)其他語言(25-30%)的比例要高。 這個(gè)數(shù)據(jù)看起來和Hillary的觀點(diǎn)是一致的 - 你可以用Python做很多事情,這可能是像我這樣的人唯一需要的語言。 我清楚地知道,Python是編程語言的瑞士軍刀 - 一種多用途的工具,可以用于任何職業(yè)。 出于這個(gè)原因,我相信它不會(huì)很快地消失。 對(duì)于新手編程員,市場(chǎng)營(yíng)銷人員,業(yè)務(wù)分析師,銀行家以及任何想要更多使用數(shù)據(jù)的人來說,這都是理想之選。 所以,我知道接下來我將學(xué)習(xí)哪種語言 - 這個(gè)入門課程只需要13個(gè)小時(shí)。 準(zhǔn)備和我一起開始使用Python嗎? 我們的免費(fèi)Python課程將帶你從基本的語法到更高級(jí)的概念,比如迭代數(shù)據(jù)結(jié)構(gòu)。 就像Python本身一樣,這個(gè)課程的設(shè)計(jì)可以讓你發(fā)展到你所想要的深度,無論哪個(gè)方向?qū)δ愫湍愕穆殬I(yè)生涯都是有利的。 如果你有興趣將Python應(yīng)用于數(shù)據(jù)科學(xué)和分析的話, 在我們的“數(shù)據(jù)分析專業(yè)強(qiáng)化課程”中,你將學(xué)習(xí)如何使用像Hillary每日使用的Python庫(kù) - 熊貓,Numpy,SciPy和Matplotlib來操作,分析和可視化數(shù)據(jù)。 編后:如果有讀者希望看到中文資料的話,以下的鏈接或許能提供一些幫助。 Python的中文資料 Python 入門指南 Python 資源大全中文版 PythonPhilosophy(Python哲學(xué))翻譯及簡(jiǎn)析 pythondocument 編譯組出品。 編輯:郝鵬程、王雅琪 |
|