旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實(shí)習(xí)/?A計(jì)劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數(shù)據(jù)分析 > 學(xué)習(xí)大數(shù)據(jù)分析python編程指南

學(xué)習(xí)大數(shù)據(jù)分析python編程指南

時(shí)間:2020-04-28來源:5wd995.cn點(diǎn)擊量:作者:Sissi
時(shí)間:2020-04-28點(diǎn)擊量:作者:Sissi

 

    每個(gè)人都喜歡Python。如果您打算開始從事數(shù)據(jù)科學(xué)事業(yè),我們可以肯定Python在您心中已經(jīng)占有特殊的位置。它直觀且易于在任何平臺(tái)上運(yùn)行,并且具有大量令人驚嘆的庫和工具。與其他編程語言相比,Python在深度學(xué)習(xí)算法方面也提供了強(qiáng)大的支持。此外,它擁有龐大的數(shù)據(jù)科學(xué)家和開發(fā)人員社區(qū),可以不斷改進(jìn)語言。實(shí)際上,關(guān)于Python編程,還有更多的話要說–應(yīng)用程序,工作前景,IDE,庫,框架,從何處開始,如何開始……,我們專門針對(duì)它進(jìn)行全面介紹。
 

  因此,歡迎閱讀學(xué)習(xí)大數(shù)據(jù)分析python編程指南!
 

  我們將文章分為兩部分。第一個(gè)面向那些不了解Python是什么,或者想知道是否開始學(xué)習(xí)Python的人。第二部分包含了一旦決定開始學(xué)習(xí)Python便可以應(yīng)用的信息和實(shí)用技巧。
 

  要瀏覽指南,您可以使用下面的目錄。您可以決定跳到您感興趣的部分,或者一遍又一遍地閱讀整篇文章。無論哪種方式,您都將獲得一些寶貴的見解。
 

  我們希望該P(yáng)ython指南對(duì)您有所幫助,并且對(duì)每個(gè)人都有好處。請(qǐng)享用!
 

  內(nèi)容
 

  Python概述

  a.什么是Python

  b.Python的應(yīng)用是什么

  c.為什么要學(xué)習(xí)Python

  d.Python與其他語言

  e.Python難學(xué)嗎

  f.工作前景
 

  Python入門
 

  a.要學(xué)習(xí)哪個(gè)Python版本

  b.如何安裝Python

  c.哪些是最適合Python開發(fā)的IDE

  d.頂級(jí)的Python庫和框架

  e.從哪兒開始

  f.實(shí)踐使完美
 

  一、Python概述
 

  在本節(jié)中,我們將介紹Python的起源及其用途。我們還將為您提供為什么它是學(xué)習(xí)的最佳編程語言之一的主要原因。
 

  1.1什么是Python?
 

python編程
 

  Python是一種開放源代碼,跨平臺(tái)的通用編程語言。就編程語言而言,它既不是新的,也不是太老。它的開發(fā)始于80年代后期,并于1991年首次向公眾發(fā)布。Python語言創(chuàng)建者Guido van Rossum對(duì)此有明確的愿景:使其像普通英語一樣易于理解。回想起來,這可能有點(diǎn)過于樂觀。盡管如此,語言的目的是強(qiáng)調(diào)可讀性和有效空白的使用。換句話說,它努力與人類語言盡可能接近?,F(xiàn)在,Python這個(gè)名字呢?
 

  您可能會(huì)像許多人一樣認(rèn)為,該名稱起源于受到飲食挑戰(zhàn)的蛇。你會(huì)錯(cuò)的。事實(shí)證明,Rossum(Python的創(chuàng)造者)是英國喜劇的忠實(shí)擁護(hù)者……并在實(shí)現(xiàn)Python的同時(shí)從Monty Python的Flying Circus中讀取腳本。因此,這個(gè)名字是對(duì)偉大的英國喜劇制作者的致敬。
 

  現(xiàn)在,如果這還不足以激發(fā)您對(duì)Python及其創(chuàng)建者的興趣,那么下一節(jié)將回答一個(gè)重要問題:Python的應(yīng)用程序是什么?
 

  1.2Python的應(yīng)用是什么?
 

  在過去的幾年中,Python越來越流行,現(xiàn)在已廣泛用于各種應(yīng)用程序中。它甚至經(jīng)常被稱為“學(xué)習(xí)的最佳編程語言”。Python用于開發(fā)YouTube之類的視頻播放器,Instagram之類的強(qiáng)大應(yīng)用,在Intel處測試微芯片,在Google處運(yùn)行搜索引擎,甚至在紐約證券交易所(NYSE)進(jìn)行交易。您知道編程語言在維護(hù)證券交易所系統(tǒng)時(shí)非常強(qiáng)大。實(shí)際上,NASA在對(duì)設(shè)備和太空機(jī)器進(jìn)行編程時(shí)也使用Python。好吧,那不是嗎?讓我們進(jìn)一步審查其中一些應(yīng)用程序。
 

  數(shù)據(jù)科學(xué)用Python
 

  最近,Python在各個(gè)行業(yè)的普及率迅速上升,這主要是由于其數(shù)據(jù)科學(xué)庫。
 

  在商業(yè)和學(xué)術(shù)界,Python都發(fā)現(xiàn)了廣泛的數(shù)據(jù)分析應(yīng)用程序。它是大多數(shù)數(shù)據(jù)科學(xué)界的首選語言。為什么?由于使用了各種工具,因此可以輕松使用龐大的數(shù)據(jù)集并獲得重要的見解。
 

  Python庫(例如NumPy和Pandas)廣泛用于數(shù)據(jù)集的收集,處理和清理,以及在應(yīng)用數(shù)學(xué)算法以使用戶受益時(shí)。使Python成為數(shù)據(jù)科學(xué)家的絕佳工具的另一個(gè)方面是Matplotlib和Seaborn附帶的強(qiáng)大可視化工具。
 

  適用于機(jī)器學(xué)習(xí)的Python
 

python編程
 

  如果您以前從未聽說過機(jī)器學(xué)習(xí)(ML),請(qǐng)快速入門。ML是指計(jì)算機(jī)能夠從訓(xùn)練數(shù)據(jù)中“學(xué)習(xí)”(將模型擬合到輸入中)以做出預(yù)測(例如,基于客戶過去的數(shù)據(jù)來購買該產(chǎn)品的可能性如何)的能力購買)。它被“智能”算法(使用大型數(shù)據(jù)集)和許多公司廣泛采用。
 

  確實(shí),公司有很多使用Python的充分理由。
 

  它的庫(例如Scikit-learn,TensorFlow和NLTK)被廣泛用于預(yù)測趨勢,例如客戶滿意度,股票的預(yù)計(jì)價(jià)值等。說到庫,TensorFlow的故事尤其有趣。Google開發(fā)了它供內(nèi)部使用,但他們在2015年將其發(fā)布為開放源代碼庫。但是我們將在2.4節(jié)中重新討論它,在此我們將詳細(xì)介紹Python庫。
 

  鑒于當(dāng)今機(jī)器學(xué)習(xí)和人工智能的重要性日益增長,Python的這一方面肯定會(huì)進(jìn)一步提高。
 

  用于Web開發(fā)的Python

 

python編程
 

  HTTP編程(或者,我們通常稱之為Web開發(fā))不再只是使用JavaScript完成。實(shí)際上,Python在其中也扮演著重要的角色。因此,在本節(jié)中,我們將向您介紹一個(gè)稱為Django的主要Python框架。此外,我們還會(huì)看到一些使用Django為其Web服務(wù)的主要公司。
 

  Django是一個(gè)完整的Web框架?,F(xiàn)在,這到底是什么意思?全??蚣転槟峁?gòu)建完整的Web應(yīng)用程序所需的一切。其中包括網(wǎng)絡(luò)服務(wù),數(shù)據(jù)庫管理,甚至HTML生成。因此,Django是《衛(wèi)報(bào)》,《紐約時(shí)報(bào)》,Instagram和Pinterest等網(wǎng)站和服務(wù)的基礎(chǔ)也就不足為奇了。看起來,如果您要構(gòu)建大型而復(fù)雜的Web應(yīng)用程序,那么Django是必經(jīng)之路。
 

  但是,如果您想創(chuàng)建簡單的Web應(yīng)用程序怎么辦?
 

  讓我們潛入另一個(gè)使用Python創(chuàng)建網(wǎng)站內(nèi)容的選項(xiàng)– Flask。Flask是一個(gè)微型輕量級(jí)的Web框架。這意味著它更加直觀且易于使用。如果要完成更復(fù)雜的任務(wù),則可能需要第三方框架。但請(qǐng)考慮一下:在2018年,F(xiàn)lask超過Django 2%,其中47%的用戶選擇Flask,45%的用戶選擇Django。這表明Web開發(fā)行業(yè)已經(jīng)朝著較小的框架,微服務(wù)和“無服務(wù)器”平臺(tái)發(fā)展。這可能是您考慮加入這一工作的最佳時(shí)機(jī)。
 

  用于游戲開發(fā)的Python

 

python編程
 

  我們不會(huì)加糖,這是Python缺乏競爭的地方。盡管它具有用于游戲開發(fā)的庫,例如PyGame和PyOpenGL,但它們經(jīng)常證明不足以提供足夠的功能。盡管它通常對(duì)創(chuàng)建2D游戲很有好處,但游戲開發(fā)人員認(rèn)為它比C#和C ++等編譯語言要慢。此外,它可能不是圖形選擇的最佳選擇,并且它不提供豐富的開發(fā)工具或編輯器。加上Python是高級(jí)解釋語言的事實(shí),使得它對(duì)游戲開發(fā)人員而言并不是那么吸引人。
 

  盡管如此,由于在其中編寫代碼的速度很快,Python在原型設(shè)計(jì)方面非常有幫助。本質(zhì)上,在決定是否在開發(fā)游戲上投入時(shí)間和資源時(shí),構(gòu)建原型很有用–概念驗(yàn)證。這就是Python發(fā)揮作用的地方,因?yàn)樗軌虮绕渌Z言更快地生成簡單的2D工作原型。
 

  此外,Python在在線游戲社區(qū)中扮演著重要角色。在其幫助下開發(fā)的游戲的顯著示例包括Civilization IV(使用Python進(jìn)行邏輯和服務(wù)器控件),Eve Online(使用Stackless Python)和《坦克世界》(使用Python進(jìn)行內(nèi)部邏輯和腳本編寫)。最后,Snakeworlds – 3D蛇游戲,將著名的經(jīng)典游戲放到球體/地球儀上。它完全用Python-Ogre編寫。
 

  1.3為什么要學(xué)習(xí)Python?
 

  好的,這就是我們真正要涉足的地方。我們將開始回顧Python的許多核心方面,討論優(yōu)點(diǎn)和缺點(diǎn),并將其與其他編程語言進(jìn)行比較。如果您渴望對(duì)Python功能有一些深入的了解,那么您來對(duì)地方了。
 

  在開始之前,我們首先來看一個(gè)重要的但經(jīng)常被誤解的區(qū)別:編碼不是編程。大多數(shù)人可以互換使用這些術(shù)語,坦率地說,這樣做很方便。但是,解釋它們背后的概念可以幫助初學(xué)者對(duì)編程產(chǎn)生更有益的態(tài)度。
 

  因此,簡單地說,編碼和編程之間的區(qū)別與為小說提出故事并將其寫在書中的區(qū)別相同。讓我們詳細(xì)說明。如果您想寫小說,問自己如何用英語寫小說不是第一步。您的重點(diǎn)應(yīng)該放在創(chuàng)建具有所有要素的故事上。只有這樣,您才能以所需的任何語言將其整齊地寫出來。
 

  同樣的原理也適用于編程-這是一個(gè)分為兩個(gè)階段的過程。
 

  首先,您面臨一個(gè)問題(假設(shè)您必須找到城市之間的最短路徑)。
 

  然后,您必須想出一些步驟,才能在這些城市的每個(gè)初始圖形配置中為您提供正確的答案(我們將此稱為算法)。這是編程中最重要的階段,并且(主要)獨(dú)立于所使用的語言。但是一旦遇到問題,您就可以開始通過編程語言將指令傳達(dá)給計(jì)算機(jī)。那就是編碼階段。僅僅學(xué)習(xí)一種特定語言的代碼還不足以成為一名優(yōu)秀的程序員。第一次學(xué)習(xí)編程時(shí),您應(yīng)該專注于解決問題的技術(shù),而不是語言本身。
 

  話雖如此,不同的語言肯定會(huì)加速或減慢學(xué)習(xí)過程。我們認(rèn)為Python是適合初學(xué)者進(jìn)行編程的最佳語言之一。讓我們看看原因:
 

  Python是一種開源語言,這意味著它是免費(fèi)使用的,每個(gè)人都可以為其代碼和庫的編寫和維護(hù)做出貢獻(xiàn)。確實(shí),很多人,甚至公司,都花了很多時(shí)間和精力來擴(kuò)展和完善Python。這是使該語言對(duì)社區(qū)如此吸引人的重要原因。
 

  此外,Python是一種高級(jí)通用語言。高級(jí)意味著它遠(yuǎn)離0和1,因此更接近人類語言。因此,您不必?fù)?dān)心內(nèi)存管理和刪除對(duì)象(以及其他問題)。這樣,您就可以完全專注于解決編程問題。這使Python成為從未學(xué)習(xí)過編程的人們的理想之選,因?yàn)樗梢詷O大地改善他們的學(xué)習(xí)經(jīng)驗(yàn)。
 

  最后,通用性表明Python非常通用。如上所述,我們可以將其用于Web和軟件開發(fā)以及網(wǎng)絡(luò)編程。最重要的是,尤其是數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)在其日益找到應(yīng)用的領(lǐng)域。因此,F(xiàn)acebook,Quora,Twitter,Spotify和Netflix等主要公司大量使用Python不足為奇?,F(xiàn)在,盡管這些網(wǎng)站和平臺(tái)不是用 Python 編寫的,但許多支持過程,尤其是與分析有關(guān)的過程,都是用它來執(zhí)行的。
 

  總體而言,Python在開發(fā)人員中的穩(wěn)步增長。它確實(shí)受到了社區(qū)的歡迎,無論是前端還是后端用戶。憑借其廣泛的功能,使用它的不僅是主要的公司。整個(gè)行業(yè)中,IT行業(yè)正在整合Python來開發(fā)各種產(chǎn)品。
 

  Python的優(yōu)缺點(diǎn)是什么?
 

python編程
 

  那么,使這種編程語言如此吸引人的關(guān)鍵方面是什么?
 

  優(yōu)點(diǎn):
 

  a.易于學(xué)習(xí) -關(guān)鍵字少,結(jié)構(gòu)簡單,語法清晰。這使學(xué)生可以快速掌握語言。

  b.易于閱讀 –由于廣泛使用空格,因此可以更清晰地定義Python代碼。

  c.生產(chǎn)力 – Python代碼可以更快地編寫。

  d.交互模式 –支持允許交互測試和調(diào)試代碼段的交互模式。

  e.廣泛的標(biāo)準(zhǔn)庫 – Python以“包含電池”語言而聞名。有300多個(gè)標(biāo)準(zhǔn)庫模塊,其中包含用于各種編程任務(wù)的類。

  f.跨平臺(tái) – Python在Windows,Linux,Mac OSX等不同的OS平臺(tái)上同樣能很好地工作。因此,它的應(yīng)用程序可以輕松地跨OS平臺(tái)移植。

  g.可擴(kuò)展 –您可以將低級(jí)模塊添加到Python解釋器。這些模塊使程序員能夠添加或自定義其工具,從而提高效率。

  h.可嵌入-Python也可嵌入。您可以將代碼放入其他語言的源代碼中,例如C ++。

  i.支持庫的廣泛集合 –有許多用于Python的庫,這些庫為語言增加了很多功能。
 

  缺點(diǎn):
 

  a.速度限制 – Python被解釋,導(dǎo)致代碼執(zhí)行緩慢。但是,這不是問題,除非速度是項(xiàng)目的重點(diǎn)。換句話說,除非需要高速,否則Python提供的好處足以超過其局限性。

  b.移動(dòng)技術(shù)薄弱 -盡管它已經(jīng)出現(xiàn)在許多臺(tái)式機(jī)和服務(wù)器平臺(tái)上,但它被認(rèn)為是移動(dòng)計(jì)算的一種較弱的語言。這就是為什么很少的移動(dòng)應(yīng)用程序使用它的原因。

  c.難以使用其他語言 -Python支持者已經(jīng)非常習(xí)慣于其功能和豐富的庫,以至于在學(xué)習(xí)或使用其他編程語言時(shí)會(huì)遇到問題。通常,Python專家可能會(huì)看到變量類型的聲明以及添加花括號(hào)或分號(hào)作為一項(xiàng)繁重的任務(wù)的語法要求。
 

  靜態(tài)和動(dòng)態(tài)打字
 

  在解釋Py??thon的特性時(shí),我們不能忘記提到它是一種動(dòng)態(tài)類型的語言。簡而言之,Python中的變量沒有預(yù)定義的類型(例如整數(shù)或字符串)。而是在程序運(yùn)行時(shí)動(dòng)態(tài)確定變量的類型。例如,如果在某一時(shí)刻我們將值10分配給變量A,Python會(huì)自動(dòng)確定此變量的類型為int(整數(shù))。如果稍后將其更新為10.0,則它將為浮點(diǎn)數(shù)(實(shí)數(shù))。
 

  相反,在像C ++這樣的靜態(tài)類型語言中,變量的類型寫在代碼本身中。因此,如果要使用A作為整數(shù),請(qǐng)輸入“ int A”?,F(xiàn)在,我們只能為A分配整數(shù)值。如果嘗試為A分配非整數(shù)值,程序?qū)⒎祷劐e(cuò)誤。
 

  當(dāng)然,這兩個(gè)概念都有其優(yōu)點(diǎn)和缺點(diǎn)。對(duì)于初學(xué)者來說,動(dòng)態(tài)類型化的語言更容易掌握。但是,由于沒有人知道運(yùn)行時(shí)之前的變量類型,因此可能會(huì)遇到難以跟蹤的意外錯(cuò)誤。
 

  但是,讓我們避開這些有點(diǎn)抽象的比較,看看Python如何針??對(duì)其他流行的編程語言進(jìn)行度量。
 

  1.4Python與其他語言
 

  在本節(jié)中,我們將Python與其他編程語言進(jìn)行比較:R,C ++和Java。閱讀后,您將可以決定哪種編程語言最適合您的實(shí)際需求。

 

python編程
 

  Python vs R
 

  Python是一種腳本語言。從某種意義上說,它非常強(qiáng)大,只需執(zhí)行幾行代碼就可以執(zhí)行各種動(dòng)作。您可以讀取,分析,可視化甚至預(yù)測巨大的數(shù)據(jù)集,所有這些僅需要幾行代碼。
 

  碰巧的是,R也是一種腳本語言。那么兩者如何比較?盡管兩者都有優(yōu)點(diǎn)和缺點(diǎn),但是在最近幾年中,Python一直是程序員使用的主要語言。原因是什么?好吧,有幾個(gè)。
 

  首先,盡管兩種語言都是免費(fèi)和開源的,但我們使用R主要是用于統(tǒng)計(jì)分析(實(shí)際上是由統(tǒng)計(jì)學(xué)家開發(fā)的)。相比之下,Python是一種通用語言(這是該語言的重要功能,并且需要重復(fù))。
 

  通用意味著它適合所有類型的需求;不僅是數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí),還包括預(yù)處理,Web編程以及幾乎所有您能想到的東西。
 

  Python的另一個(gè)優(yōu)點(diǎn)是它是高級(jí)的。松散地解釋了它的語法,它很容易接近邏輯人類語言,后來又翻譯成低級(jí)語言(例如C)或什至0和1。例如,NumPy包實(shí)際上是通過編程語言C進(jìn)行的。這解釋了為什么它這么快。
 

  讓我們談?wù)勱P(guān)于R的最后一件小事。R中的圖形并不是最好的。但這是輕描淡寫。很多。實(shí)際上,圖形是如此糟糕,以至于R推出了專門針對(duì)該問題設(shè)計(jì)的R Shiny。我們喜歡Shiny,非常漂亮。就是說,盡管在某些情況下也可能缺少Python中的圖形,但最近在這方面進(jìn)行了改進(jìn)。在matplotlib頂部使用的Seaborn,絕對(duì)使圖形看起來比以前更好。
 

  Python與Java和C ++
 

  現(xiàn)在,我們強(qiáng)調(diào)了Python是一種腳本語言這一事實(shí)??。盡管這是事實(shí),但它并不能為我們提供全面的信息。
 

  盡管許多人主要使用Python運(yùn)行腳本,但它也具有面向?qū)ο蟮墓δ?,例如C ++和Java。就是說,我們發(fā)現(xiàn)使用Python學(xué)習(xí)編程比使用其他兩個(gè)編程要容易得多。
 

  為什么,我聽到經(jīng)驗(yàn)豐富的C ++程序員在屏幕后面大喊?我們知道您是通過艱苦的方式學(xué)習(xí)編程的,并且對(duì)此感到非常滿意,因?yàn)橐磺卸家猿斓乃俣冗\(yùn)行,并且不再有那么多的內(nèi)存泄漏。而且,只要您確切知道自己在做什么,代碼就可以運(yùn)行,對(duì)嗎?(是的,本文的作者也喜歡C ++。)
 

  好吧,讓我們扮演魔鬼的擁護(hù)者,并認(rèn)為可能有一種更輕松,更直觀的方法來學(xué)習(xí)編程基礎(chǔ)。
 

  首先考慮:Java。許多程序員的第一語言。
 

  Java具有對(duì)象和類,這是初學(xué)者很難理解的概念。從個(gè)人經(jīng)驗(yàn)來看,這可能涉及您父親漫長的夏天大喊:“類和對(duì)象之間有什么區(qū)別?!”,然后您試圖找出正確的答案。記錄下來,答案是–對(duì)象是類的實(shí)例。這使事情更清楚了嗎?是的,這就是我們的想法。理解這些概念需要花費(fèi)一些時(shí)間。如果您是初學(xué)者,則用Java編寫和運(yùn)行代碼可能會(huì)花費(fèi)更長的時(shí)間。簡而言之,這就是Java(確實(shí)是一個(gè)很小的概括,但是您知道了)。
 

  C ++是“真正的”程序員語言呢?
 

  它的座右銘是“您得到所要付出的代價(jià)”(但也許不要在那句話上引用我們)。在C ++中,您負(fù)責(zé)處理內(nèi)存,即對(duì)象的創(chuàng)建和刪除。此外,訪問內(nèi)存中那些對(duì)象的方式是通過指針,指針可以具有自己的指針,而指針又可以具有自己的指針……您可以得到point(er)。C ++也不太適合初學(xué)者。
 

  讓我們將它們與Python編程進(jìn)行比較。但是,就像非常簡單的編程一樣。(想象)您是一個(gè)完全的新手,想編寫您的第一個(gè)程序。對(duì)于每個(gè)程序員,無論使用哪種語言,都意味著編寫您的第一個(gè)“ Hello,World”。
 

  因此,這就是代碼在Java中的外觀:

 

python編程
 

  這是在C ++中:

 

python編程
 

  現(xiàn)在,讓我們看一下Python:

 

python編程
 

  設(shè)置環(huán)境并打開腳本文件后,使用Python編寫“ hello world”只需要一個(gè)簡單的print()函數(shù)和您的文本。在Python 2中,您甚至不需要括號(hào)!確實(shí)沒有比這更簡單的了。這是我們一開始所討論的可讀性因素。這也是為什么我們比其他編程語言更喜歡Python的原因。順便說一句,如果您發(fā)現(xiàn)此分析有用,請(qǐng)考慮與其他編碼人員朋友共享本文。Python社區(qū)很棒是它很棒的原因之一,所以讓我們幫助它變得更大。
 

  1.5Python難學(xué)嗎?
 

  簡短的答案:這取決于。但這不是您想要的答案,對(duì)嗎?不用擔(dān)心,在開始學(xué)習(xí)Python之前,我們將解釋您需要了解的所有內(nèi)容。從...開始…
 

  學(xué)習(xí)Python多長時(shí)間?
 

  對(duì)于一個(gè)完整的新手來說,學(xué)習(xí)如何很好地使用Python進(jìn)行編程大約需要3個(gè)月的相對(duì)一致的學(xué)習(xí)(基于我們自己的估計(jì))。
 

  但是,如果您打算將Python用于數(shù)據(jù)科學(xué)(即數(shù)據(jù)分析或機(jī)器學(xué)習(xí)),則時(shí)間軸實(shí)際上會(huì)更短。由于數(shù)據(jù)科學(xué)需要非常特定的語言使用方法,因此需要花一個(gè)月到兩個(gè)月的時(shí)間才能理解基礎(chǔ)知識(shí)。完全披露信息是基于我們的學(xué)生完成我們自己的數(shù)據(jù)科學(xué)培訓(xùn)的速度。在365數(shù)據(jù)科學(xué)計(jì)劃大約需要200個(gè)小時(shí)才能完成。除其他主題外,它還包括數(shù)學(xué),統(tǒng)計(jì)學(xué)和Python的基礎(chǔ)知識(shí)。它還介紹了更高級(jí)的主題,例如使用sklearn,numpy和pandas進(jìn)行機(jī)器學(xué)習(xí),并使用用于神經(jīng)網(wǎng)絡(luò)的TensorFlow(版本1和2)庫涵蓋了深度學(xué)習(xí)。因此,如果您真正致力于并每天花五個(gè)小時(shí)學(xué)習(xí),那么大約需要一個(gè)月的時(shí)間來學(xué)習(xí)Python數(shù)據(jù)科學(xué)分析的主要原理。
 

  也就是說,您精通Python或任何編程語言所花費(fèi)的時(shí)間取決于……嗯,您。
 

  不同的人以不同的速度學(xué)習(xí)。您學(xué)習(xí)Python的能力還取決于您的編程背景。如果您已經(jīng)精通某種編程語言,那么熟悉Python可能會(huì)涉及到習(xí)慣于不同的庫。
 

  但是,如果您從未編程過該怎么辦?好吧,這實(shí)際上可能是一個(gè)優(yōu)勢。我們認(rèn)為,使用Python這樣的語言來學(xué)習(xí)編程的基礎(chǔ)要容易得多。
 

  1.6工作展望
 

  Python的工作前景如何?
 

  要說Python的工作前景是積極的,則輕描淡寫。隨著它的受歡迎程度不斷提高,對(duì)Python作為雇主首選技能的需求猛增。
 

  實(shí)際上,電氣和電子工程師協(xié)會(huì)(IEEE-世界上最大的技術(shù)進(jìn)步專業(yè)技術(shù)組織)認(rèn)為Python是2019年的“大卡胡納語”,在其年度互動(dòng)十大編程中排名第一。語言。
 

  但是Python不僅是粉絲的最愛-這是CEO想要的。
 

  根據(jù)StackOverFlow開發(fā)人員調(diào)查(全球90,000名開發(fā)人員參與),它是2019年增長最快的主要編程語言。Python(41.7%)在整體排名中甚至領(lǐng)先Java(41.1%),并且仍然是最受歡迎的語言開發(fā)者(25.7%)連續(xù)第三年!調(diào)查還顯示,與使用C,C ++和Java等語言的開發(fā)人員($ 50,000-$ 60,000)相比,使用Python的開發(fā)人員的薪水更高($ 60,000- $ 70,000)。

 

python編程
 

  這如何轉(zhuǎn)化為Python的工作機(jī)會(huì)?
 

  讓我們深入研究數(shù)字。
 

  Python工作需求量很大嗎?
 

  絕對(duì)。Python是全球薪水最高的語言,薪水中位數(shù)為63,000美元。通用語言已在數(shù)據(jù)科學(xué)工作中廣泛使用。該報(bào)告基于美國最大的工作網(wǎng)站–Indeed.com的數(shù)據(jù)。他們將強(qiáng)調(diào)某些軟件熟練程度的職位發(fā)布數(shù)量進(jìn)行了統(tǒng)計(jì),發(fā)現(xiàn)Python排名第二的是27,374個(gè)職位,緊隨其后的是SQL的25,877個(gè)職位。根據(jù)記錄,Java和C分別位于17,000和13,000的工作列表中。同比增長呢?從2017年到現(xiàn)在(2019年),Python再一次成為無可爭議的冠軍,增長了97%。
 

  從中國的前景來看,那里的就業(yè)市場也相當(dāng)健康。
 

  據(jù)ITJobsWatch摘要統(tǒng)計(jì)報(bào)告,過去6個(gè)月中,已有16,004個(gè)永久工作被Python引用,年薪中位數(shù)為61,242英鎊。與2017年同期相比,漲幅為11.16%。
 

  但是雇主怎么說呢?Python是使用高級(jí)分析進(jìn)行業(yè)務(wù)和產(chǎn)品開發(fā)的組織中排名第一的編程語言。調(diào)查的回應(yīng)來自500家公司的中層管理人員,高級(jí)管理人員和執(zhí)行層管理人員。
 

  因此,就雇主在尋找什么而言,Python似乎已接近統(tǒng)治地位。就是說,現(xiàn)在該是我們調(diào)查那里最令人垂涎??的Python工作角色的時(shí)候了。
 

  您可以采用Python的哪些職業(yè)道路?
 

  精通Python是技術(shù)和數(shù)據(jù)科學(xué)職業(yè)領(lǐng)域不可或缺的技能之一。這是Python專家可以遵循的一些最有利可圖的職業(yè)道路。
 

  Python開發(fā)人員
 

  對(duì)于精通Python的人來說,最明顯的選擇。Python開發(fā)人員將其用于各種任務(wù),從構(gòu)建網(wǎng)站和優(yōu)化數(shù)據(jù)算法到查找數(shù)據(jù)分析解決方案以及執(zhí)行安全性和數(shù)據(jù)保護(hù)。更不用說這種編程語言非常適合編寫可測試,可重用和令人難以置信的高效代碼。
 

  機(jī)器學(xué)習(xí)工程師
 

  Python的專業(yè)知識(shí)是機(jī)器學(xué)習(xí)工程師的關(guān)鍵要求之一。機(jī)器學(xué)習(xí)涉及連續(xù)的數(shù)據(jù)處理,Python強(qiáng)大的庫生態(tài)系統(tǒng)無疑是應(yīng)對(duì)挑戰(zhàn)的基礎(chǔ)。難怪機(jī)器學(xué)習(xí)工程師會(huì)首選Python庫來訪問和轉(zhuǎn)換數(shù)據(jù),以及處理諸如聚類,回歸和分類之類的基本ML算法。
 

  數(shù)據(jù)科學(xué)家
 

  Python是動(dòng)手進(jìn)行統(tǒng)計(jì)建模的首選語言。大約68%的數(shù)據(jù)科學(xué)家表示這是他們最喜歡的編程語言(去年為44%)。而且,如果您到目前為止一直在關(guān)注,那么在機(jī)器學(xué)習(xí)方面,Python也是必不可少的。
 

  數(shù)據(jù)分析師
 

  Python是處理大量數(shù)據(jù),清理它并處理它以進(jìn)行分析的最好的語言之一,而這正是數(shù)據(jù)分析師所做的很多事情。與其他更復(fù)雜的工具相比,Python可以幫助他們更快地完成所有工作。數(shù)據(jù)分析師還使用Python及其軟件包將其數(shù)據(jù)分析任務(wù)與Web應(yīng)用程序集成在一起,或?qū)⒔y(tǒng)計(jì)代碼合并到生產(chǎn)數(shù)據(jù)庫中。
 

  BI分析師
 

  對(duì)于BI分析師而言,Python 不是絕對(duì)必須的。但是,在商業(yè)智能領(lǐng)域,它變得越來越受歡迎。BI分析師是核心的多任務(wù)處理者。這樣,他們可以將Python用于各種商業(yè)智能任務(wù)。他們可以通過將其導(dǎo)入數(shù)據(jù)庫程序,對(duì)其進(jìn)行清理和標(biāo)準(zhǔn)化來使用它來準(zhǔn)備數(shù)據(jù)。此外,BI分析師可以通過從查詢創(chuàng)建Pandas DataFrame,制作數(shù)據(jù)質(zhì)量報(bào)告,生成摘要統(tǒng)計(jì)信息以及創(chuàng)建圖表來探索數(shù)據(jù)。最后,Python可以協(xié)助BI分析師進(jìn)行數(shù)據(jù)分析和分析,因此他們可以可視化并報(bào)告其見解,以制定明智的業(yè)務(wù)決策。
 

  數(shù)據(jù)工程師
 

  Python的豐富庫可幫助數(shù)據(jù)工程師訪問數(shù)據(jù)庫和存儲(chǔ)技術(shù)。此外,數(shù)據(jù)工程師使用它來編碼ETL框架以及API交互和自動(dòng)化。總體而言,Python是功能強(qiáng)大且用途廣泛的工具,可讓數(shù)據(jù)工程師快速,高效地解決問題。
 

  數(shù)據(jù)架構(gòu)師
 

  數(shù)據(jù)架構(gòu)師開發(fā)高級(jí)Python腳本,以分析,清理和轉(zhuǎn)換大型數(shù)據(jù)集,并準(zhǔn)備將其用于商業(yè)智能,分析和財(cái)務(wù)建模功能。
 

  作者的注釋:Python對(duì)于獲得數(shù)據(jù)科學(xué)工作至關(guān)重要。但是,這只是您想要在現(xiàn)場獲得的技能之一。
 

  使用Python的熱門行業(yè)是哪些?
 

  根據(jù)ActiveState的十大用例,以下是使用Python 的十大行業(yè):
 

  a.保險(xiǎn);

  b.零售銀行;

  c.航天;

  d.金融;

  e.商業(yè)服務(wù);

  f.硬件;

  g.衛(wèi)生保健;

  h.咨詢服務(wù);

  i.信息技術(shù)

  j.軟件。
 

  二、Python入門
 

  如果您已經(jīng)決定開始學(xué)習(xí)Python但不知道從哪里開始,那么這里就是您的理想選擇。入門可能很困難。您應(yīng)該下載Python 2.7,還是要下載Python 3.6?因此,在本節(jié)中,我們匯總了大量信息和實(shí)用技巧,可幫助您找到自己的出路。我們將概述Python 2和Python 3之間的區(qū)別,并指導(dǎo)您完成安裝過程。然后,我們將回顧最佳的Python庫和IDE及其用例。此外,在這里您將發(fā)現(xiàn)開始學(xué)習(xí)Python的可行步驟,以及可以使用的良好免費(fèi)資源列表。最后,我們將向您展示如何從經(jīng)驗(yàn)豐富的Python用戶那里尋求幫助。但首先要注意的是:
 

  2.1要學(xué)習(xí)哪個(gè)Python版本?
 

  如果您嘗試下載Python,您可能會(huì)對(duì)兩個(gè)同樣重要的版本2.7和3.7(在撰寫本文時(shí))感到驚訝。因此,現(xiàn)在您可能想知道:我應(yīng)該學(xué)習(xí)Python 2還是學(xué)習(xí)Python 3?
 

  過去,編碼社區(qū)一直在爭論哪個(gè)版本是最好的學(xué)習(xí)版本。但這已經(jīng)發(fā)生了變化,現(xiàn)在變得或多或少了:Python 3無疑是贏家。我們將探討原因,但首先讓我們看一下這些版本的歷史。
 

  Python 2.0于2000年首次發(fā)布,其最終的主要版本Python 2.7于2010年問世。
 

  但是,這還沒有結(jié)束,因?yàn)橹钡浇裉烊钥傻玫匠掷m(xù)的支持。但是,開發(fā)人員很早就意識(shí)到他們需要進(jìn)行重大更改以改進(jìn)語言。因此,在2008年12月,Python發(fā)布了3.0版。這個(gè)版本主要是為了解決Python 2中存在的問題而開發(fā)的。但是這些更改的性質(zhì)使得Python 3最終與Python 2不兼容!因此,對(duì)于使用Python 2.x版本的任何組織,將其項(xiàng)目遷移到3.x都需要大量的調(diào)整和工作。因此,許多公司決定繼續(xù)使用版本2并為其開發(fā)更多庫。因此,繼續(xù)支持Python 2。
 

  但是萬事必須最終結(jié)束。
 

  因此,開發(fā)人員宣布2020年1月1日將是Python 2淘汰的日子。在此日期之后,將不再對(duì)此版本進(jìn)行更新和支持,并且使用此版本的每個(gè)人都必須盡快切換到Python 3。這不是操練- 時(shí)鐘確實(shí)在滴答作響。
 

  因此,Python 3是未來的明確方向,也是每個(gè)初學(xué)者都應(yīng)該選擇的版本。但是,如果您的公司有用Python 2編寫的項(xiàng)目,或者也許您必須使用僅受Python 2支持的第三方庫,則可能需要了解兩個(gè)版本之間的區(qū)別。這里有一些人(也有從很多地方,從來到),讓你開始:

 

python編程
 

  2.2如何安裝Python?
 

  Python可與Windows,Linux,Mac OS和某些其他平臺(tái)(例如IBM AS / 400,iOS,Solaris等)一起使用。并且有多種方法可以在計(jì)算機(jī)上安裝它。
 

  開箱即用地向Python添加功能的一種簡單方法是通過Anaconda發(fā)行版,這對(duì)(數(shù)據(jù))科學(xué)家而言尤其重要。它包括庫存的Python以及對(duì)科學(xué)家和機(jī)器學(xué)習(xí)至關(guān)重要的庫,例如NumPy,SciPy,Pandas(請(qǐng)參閱第2.4節(jié))。不僅如此,它還配備了兩個(gè)IDE(請(qǐng)參閱下一節(jié)2.3)– Spyder和Jupyter Notebook。另外,它非常容易安裝-只需選擇您的操作系統(tǒng),然后點(diǎn)擊下載即可。然后,剩下要做的就是完成基于向?qū)У脑O(shè)置,您就可以開始了。
 

  你可以,當(dāng)然,選擇Python的軟件在python.org/downloads標(biāo)準(zhǔn)分布在這里。只是不要忘記在設(shè)置中選中“將Python 3.x添加到PATH”復(fù)選框。
 

python編程
 

  2.3。哪些是最適合Python開發(fā)的IDE?
 

  到目前為止,一切都很好。您已經(jīng)安裝了Python,但是現(xiàn)在您需要在某個(gè)地方編寫代碼并運(yùn)行它。這就是IDE的用武之地。
 

  首先,讓我們弄清楚IDE的含義。IDE代表集成開發(fā)環(huán)境。它是一種編碼工具,可讓您以更輕松的方式編寫,測試和調(diào)試代碼,因?yàn)樗鼈兺ǔMㄟ^突出顯示,資源管理,調(diào)試工具等提供代碼完成或代碼洞察力。
 

  那么,什么是最好的Python IDE?好吧,這取決于您的喜好以及使用這種編程語言的原因??紤]到這一點(diǎn),在這里我們將介紹一些最受歡迎的(截至撰寫本文時(shí)),以便您可以做出明智的決定。
 

  適用于科學(xué)和數(shù)據(jù)分析的Python IDE
 

  斯派德
 

python編程
 

  Spyder是一種輕量級(jí)的開源IDE,專門為科學(xué)和數(shù)據(jù)分析使用而設(shè)計(jì)和構(gòu)建。如果您從未使用過IDE,那么它可能是一個(gè)完美的第一站,因?yàn)閷W(xué)習(xí)過程很順利。
 

  Spyder包括在Anaconda發(fā)行版中,以及數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)必不可少的庫-NumPy,SciPy,Pandas,scikit-learn,Matplotlib等。而且,就安裝而言,通過Anaconda進(jìn)行安裝是更可取的方法。
 

  Spyder包含您可能期望的大多數(shù)常見IDE功能,例如具有健壯的語法突出顯示功能的代碼編輯器,代碼完成功能,甚至是集成的文檔瀏覽器。
 

  此外,它還具有幾個(gè)非常有用的功能-圖形變量瀏覽器和IPython(交互式Python)控制臺(tái)。
 

  變量資源管理器包含程序中的所有數(shù)據(jù)(變量),并在IDE內(nèi)部使用基于表的布局顯示它。這使您可以快速地進(jìn)行交互和修改,單擊直方圖和時(shí)間序列,對(duì)集合進(jìn)行排序等等。
 

  您可能會(huì)發(fā)現(xiàn)有趣的另一件事是,IPython控制臺(tái)允許初學(xué)者和數(shù)據(jù)科學(xué)家執(zhí)行一行代碼并可視化數(shù)據(jù),從而使他們受益匪淺。對(duì)于教育目的和調(diào)試而言,這都是很棒的。
 

  從本質(zhì)上講,Spyder非常適合初學(xué)者和專業(yè)人士,但我們意識(shí)到,有些退伍軍人可能會(huì)覺得它太基礎(chǔ)了,缺乏某些更高級(jí)的功能。
 

  Jupyter筆記本
 

python編程
 

  Jupyter Notebook 于2014 年從IPython誕生,它是一個(gè)基于服務(wù)器-客戶端結(jié)構(gòu)的Web應(yīng)用程序,它使您可以創(chuàng)建和操作Notebook文檔或“筆記本”。
 

  Jupyter為您提供了一種跨多種編程語言的易于使用的交互式數(shù)據(jù)科學(xué)環(huán)境,該環(huán)境不僅可以用作IDE,還可以用作演示或教育工具。對(duì)于剛開始使用數(shù)據(jù)科學(xué)的人來說,它是完美的選擇!
 

  Jupyter Notebook支持降價(jià)促銷,因此允許您在代碼行之間添加文本和其他HTML組件,例如圖像和視頻。感謝Jupyter,您可以輕松地查看和編輯代碼,以創(chuàng)建引人入勝的演示文稿。例如,您可以使用Matplotlib和Seaborn等數(shù)據(jù)可視化庫,并在代碼所在的同一文檔中顯示圖形。此外,您可以將最終作品導(dǎo)出為PDF和HTML文件,或僅將其導(dǎo)出為.py文件。
 

  通用Python IDE
 

  PyCharm
 

python編程
 

  PyCharm是一個(gè)完整的IDE,適用于Web開發(fā),小型和大型項(xiàng)目。它是由JetBrains(一家以創(chuàng)建出色的軟件開發(fā)工具而聞名的公司)的員工開發(fā)的,面向?qū)I(yè)開發(fā)人員的IDE 。如果您已經(jīng)使用過JetBrains的另一個(gè)IDE,因?yàn)樗慕缑婧凸δ芏挤浅O嗨疲敲此鼘?duì)您來說是完美的。
 

  另外,如果您喜歡IPython或Anaconda發(fā)行版,很高興知道PyCharm集成了他們的工具和庫,例如NumPy和Matplotlib。這樣一來,您就可以使用數(shù)組查看器和交互式繪圖。
 

  好了,就安裝而言,有兩種版本的PyCharm供您考慮:
 

  a.社區(qū) –免費(fèi)的開源版本,輕量級(jí),適合Python和科學(xué)開發(fā);

  b.專業(yè)版 –付費(fèi)版本(每年53歐元,兩年后),功能齊全的IDE,也支持Web開發(fā)。
 

  PyCharm的一個(gè)缺點(diǎn)是它可能非常繁重且占用大量資源。因此,對(duì)于具有少量RAM(通常小于4GB)的計(jì)算機(jī),它可能不是最佳選擇,因?yàn)樗鼤?huì)滯后。
 

  除此之外,PyCharm還提供了優(yōu)秀的IDE應(yīng)該提供的所有主要功能。此外,它是完全可定制的,并且具有大量用于附加功能的插件。
 

  Visual Studio代碼(VSCode)

 

python編程
 

  VSCode是一個(gè)輕量級(jí)但功能強(qiáng)大的開源編輯器,可在任何平臺(tái)(Windows,Mac,Linux)上訪問。它具有豐富的內(nèi)置編程語言支持和擴(kuò)展生態(tài)系統(tǒng)。該編輯器每月更新一次,其中包含新功能和錯(cuò)誤修復(fù)。這以及為各種用例創(chuàng)建有用插件的活躍社區(qū),使VSCode在Python開發(fā)中成為程序員的最愛。
 

  那么,您從擴(kuò)展中得到什么?
 

  a.使用IntelliSense自動(dòng)完成;

  b.棉絨;

  c.代碼格式化;

  d.腳本調(diào)試;

  e.單元測試;

  f.自動(dòng)激活并在Python環(huán)境之間輕松切換;

  j.重構(gòu)命令。
 

  除了編程語言功能外,VSCode擴(kuò)展還包括其他方便的功能,例如鍵盤映射,UI主題和語言包。擴(kuò)展程序和主題的安裝非常容易且易于訪問。因此,是的,一旦開始使用Python,您一定應(yīng)該將此IDE放在您的雷達(dá)上。
 

  原子
 

python編程
 

  Atom是由GitHub開發(fā)的開源代碼編輯器(不是完整的IDE),可用于Python開發(fā)。它是高度可定制的,使您有機(jī)會(huì)根據(jù)需要安裝軟件包并根據(jù)需要更改UI。
 

  Atom易于使用且易于學(xué)習(xí)。它提供了對(duì)GitHub的大力支持。除此之外,您還可以在Atom本身中可視化結(jié)果,而無需打開任何其他窗口或窗格。此外,您還有一個(gè)名為“ Markdown Preview Plus”的插件。它為您提供了編輯和可視化Markdown文件的內(nèi)置支持,允許您打開預(yù)覽,渲染LaTeX方程式等等!
 

  榮譽(yù)獎(jiǎng)
 

  a.Eclipse + PyDev – Eclipse是非常流行的IDE,主要用于Java代碼。但是,可以使用插件PyDev為Python配置它。
 

  b.it(Online Compiler) –如果您想開始編寫Python代碼而不花時(shí)間安裝Python和設(shè)置開發(fā)環(huán)境,則可以使用repl.it。該站點(diǎn)提供了多種語言的在線IDE,包括在線Python Shell。您只需要互聯(lián)網(wǎng)連接和瀏覽器即可上手。
 

  c.Thonny – Thonny是Python IDE系列的最新成員,被稱為初學(xué)者的IDE。它由愛沙尼亞塔爾圖大學(xué)計(jì)算機(jī)科學(xué)研究所編寫和維護(hù),是專門為教學(xué)和學(xué)習(xí)編程(特別是Python)而設(shè)計(jì)的。默認(rèn)情況下,Thonny帶有自己的捆綁版本的Python,因此您無需安裝其他任何東西。它的用戶界面非常簡單,因此初學(xué)者會(huì)發(fā)現(xiàn)使用起來很容易。此外,它還具有一個(gè)簡單的調(diào)試器,可讓您逐步執(zhí)行程序,并使您能夠查看Python如何在內(nèi)部評(píng)估書面表達(dá)式。
 

  總體而言,Thonny的目的是使您充分了解Python的工作原理,而這正是它所提供的。
 

  2.4。哪些頂級(jí)Python庫和框架?
 

  Python庫包含各種工具來幫助我們進(jìn)行編程。我們可能會(huì)遇到一個(gè)難以解決的問題,但有可能其他人在我們之前遇到了該問題,并編寫了處理該問題的代碼。該代碼可能在某個(gè)庫中的某個(gè)位置,等待我們使用它。Python有許多不同的庫,但是在這里,我們將僅列出我們認(rèn)為您可能需要使用的庫。
 

  Python標(biāo)準(zhǔn)庫
 

  這是Python本身附帶的庫。它非常廣泛,提供了各種各樣的功能,您可以在文檔中查看。該庫包含內(nèi)置模塊(用C編寫)。它們提供對(duì)系統(tǒng)功能的訪問,例如文件I / O(否則Python程序員將無法訪問)。它還為使用Python編寫的模塊打開了大門,這些模塊為許多常見的編程問題提供了標(biāo)準(zhǔn)化的解決方案。其中一些模塊經(jīng)過明確設(shè)計(jì),旨在通過將特定于平臺(tái)的內(nèi)容抽象到與平臺(tái)無關(guān)的API中來鼓勵(lì)和增強(qiáng)Python程序的可移植性。
 

  用于機(jī)器學(xué)習(xí),科學(xué)使用和數(shù)據(jù)分析的Python庫
 

  如前所述,Python被廣泛用于數(shù)據(jù)分析和科學(xué)模擬。在某種程度上,它之所以受歡迎,是因?yàn)槟梢赃x擇各種各樣的庫。以下是Top Data Science聯(lián)合創(chuàng)始人兼AI負(fù)責(zé)人Oguzhan Gencoglu所說的話:“我們主要在Python中進(jìn)行開發(fā), 而numpy,scipy和pandas 等科學(xué)庫 至關(guān)重要。對(duì)于傳統(tǒng)的 ML,我們使用 scikit-learn / xgboost / GPy。繼續(xù)列出, nltk 和 gensim 對(duì)于我們的NLP項(xiàng)目至關(guān)重要。自然地,對(duì)于深度學(xué)習(xí),我們在Keras / TensorFlow中進(jìn)行原型制作如果是工業(yè)協(xié)作,則 在TensorFlow中進(jìn)行部署 。我們還將 PyTorch用于研究合作。”
 

  也就是說,這是一些最重要的Python庫的列表:
 

  a.NumPy
 

  NumPy是一個(gè)非常重要的用于數(shù)值計(jì)算的庫,也是許多其他更高級(jí)庫的基礎(chǔ)。它提供了廣泛的N維數(shù)組接口和線性代數(shù)函數(shù),這些函數(shù)比普通的Python列表要快幾個(gè)數(shù)量級(jí),并且存儲(chǔ)效率更高。這就是為什么它對(duì)于仿真和機(jī)器學(xué)習(xí)至關(guān)重要。
 

  NumPy是Anaconda軟件包的一部分。
 

  b.科學(xué)
 

  Scientific Python(SciPy)庫是創(chuàng)建用于執(zhí)行復(fù)雜數(shù)學(xué)分析的算法的庫。它使用NumPy數(shù)組作為其基本數(shù)據(jù)結(jié)構(gòu)(因此很快速),并且可以執(zhí)行諸如積分,求解常微分方程,信號(hào)處理和優(yōu)化之類的任務(wù)。
 

  Anaconda軟件包提供了SciPy。
 

  c.Matplotlib
 

  Matplotlib是一個(gè)用于創(chuàng)建圖表,圖形和其他數(shù)據(jù)可視表示的庫。對(duì)于任何數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析儀而言,這都是至關(guān)重要的。
 

  Matplotlib也是Anaconda軟件包的一部分。
 

  d.TensorFlow
 

  TensorFlow是由Google Brain團(tuán)隊(duì)開發(fā)的開源機(jī)器學(xué)習(xí)庫,并于2015年向公眾發(fā)布。幾乎所有用于機(jī)器學(xué)習(xí)的Google應(yīng)用程序都使用TensorFlow。TensorFlow的應(yīng)用程序數(shù)量是無限的,這就是它的美。它針對(duì)速度進(jìn)行了優(yōu)化,非常靈活,可以在CPU和GPU上運(yùn)行。它還具有出色的可視化工具。TensorFlow是Anaconda軟件包的一部分,不包括自動(dòng)安裝-它需要手動(dòng)安裝。這可以通過打開anaconda提示符并鍵入“ conda install tensorflow”來完成。
 

  e.Scikit學(xué)習(xí)
 

  Scikit-learn(或簡稱為sk-learn)是與NumPy和SciPy相關(guān)的Python庫。它被認(rèn)為是處理復(fù)雜數(shù)據(jù)的最佳庫之一,因?yàn)樗S多用于實(shí)現(xiàn)標(biāo)準(zhǔn)機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘任務(wù)的算法,例如減少維數(shù),分類,回歸,聚類和模型選擇。
 

  Scikit-learn是Anaconda軟件包的一部分。
 

  f.大熊貓
 

  Pandas是一個(gè)數(shù)據(jù)分析庫,它提供高級(jí)數(shù)據(jù)結(jié)構(gòu)和各種用于操縱它們的工具。該庫的主要功能之一是能夠使用一個(gè)或兩個(gè)命令轉(zhuǎn)換具有數(shù)據(jù)的復(fù)雜操作。Pandas具有許多用于分組,合并數(shù)據(jù)和過濾以及時(shí)間序列功能的內(nèi)置方法。
 

  熊貓是Anaconda軟件包的一部分。
 

  g.火炬
 

  PyTorch是另一個(gè)開源機(jī)器學(xué)習(xí)庫,它使開發(fā)人員能夠在GPU加速的情況下執(zhí)行張量計(jì)算,創(chuàng)建動(dòng)態(tài)計(jì)算圖并自動(dòng)計(jì)算梯度。它于2017年推出,自成立以來,該庫越來越受歡迎并吸引了越來越多的機(jī)器學(xué)習(xí)開發(fā)人員。盡管PyTorch相對(duì)來說還很年輕,并且沒有TensorFlow驚人的可視化技術(shù),但它與TensorFlow有著直接的競爭。
 

  PyTorch是Anaconda軟件包的一部分,但它需要手動(dòng)安裝-打開anaconda提示符并輸入“ conda install pytorch -c pytorch”。
 

  h.凱拉斯
 

  Keras提供了一種表達(dá)神經(jīng)網(wǎng)絡(luò)的簡便機(jī)制,以及一些用于編譯模型,處理數(shù)據(jù)集,圖形可視化等的最佳實(shí)用程序。它注重于用戶友好,模塊化和可擴(kuò)展性,但卻犧牲了速度。
 

  Keras是深度學(xué)習(xí)研究人員的最愛,排名第二。大型科學(xué)組織(尤其是CERN和NASA)的研究人員也采用了此方法。
 

  Keras不是Anaconda軟件包的一部分。
 

  Python GUI庫
 

  GUI(圖形用戶界面)庫允許程序員創(chuàng)建令人眼花applications亂的應(yīng)用程序。Python是一種交互式語言,因此開始編寫GUI框架并不是一件難事。實(shí)際上,Python在該領(lǐng)域有多種選擇:
 

  a.Tkinter
 

  Tkinter通常使用Tk與Python捆綁在一起,并且是Python的標(biāo)準(zhǔn)GUI框架。它以其簡單性和圖形用戶界面而受歡迎。它是開源的,可在Python許可下獲得。選擇Tkinter的優(yōu)點(diǎn)之一是,由于它是默認(rèn)設(shè)置,因此有大量資源,包括代碼和參考書。
 

  b.wxPython
 

  WxPython是跨平臺(tái)GUI庫WxWidgets(以前稱為WxWindows)的開源包裝,并實(shí)現(xiàn)為Python擴(kuò)展模塊。使用WxPython,您作為開發(fā)人員可以為Windows,Mac OS和Unix創(chuàng)建本機(jī)應(yīng)用程序。
 

  c.PyQT
 

  PyQT是實(shí)現(xiàn)Qt(由諾基亞擁有)應(yīng)用程序開發(fā)框架的Qt庫的最受歡迎的跨平臺(tái)Python綁定之一。目前,PyQT可用于Unix / Linux,Windows,Mac OS X和Sharp Zaurus。它結(jié)合了Python和Qt的優(yōu)點(diǎn)。然后由程序員決定是通過編碼還是使用Qt Designer創(chuàng)建可視對(duì)話框來創(chuàng)建程序。它既有商業(yè)許可,也有GPL許可。盡管某些功能可能在免費(fèi)版本中不可用,但是如果您的應(yīng)用程序是開源的,則可以在免費(fèi)許可證下使用它。
 

  d.PyGUI的
 

  PyGUI是用于Unix,Macintosh和Windows的圖形應(yīng)用程序跨平臺(tái)框架。與其他一些GUI框架相比,PyGUI到目前為止是所有框架中最簡單,最輕便的,因?yàn)锳PI完全與Python同步。PyGUI在GUI平臺(tái)和Python應(yīng)用程序之間插入的代碼要少得多,因此,應(yīng)用程序的顯示通常會(huì)顯示平臺(tái)的自然GUI。
 

  用于Web開發(fā)的Python框架
 

  考慮到動(dòng)態(tài)Web開發(fā)的發(fā)展方式,Python框架的普及似乎僅在增加。這種面向?qū)ο?,功能?qiáng)大的組成,解釋和交互式編程語言非常易于學(xué)習(xí)。而且,它易于閱讀的語法和簡單的編譯功能有效地縮短了開發(fā)時(shí)間。
 

  Python為開發(fā)人員提供了廣泛的工具。下面列出了一些流行的Web框架:
 

  a.Django的
 

  Django是一個(gè)免費(fèi)的開源框架,使開發(fā)人員能夠有效,快速地開發(fā)復(fù)雜的代碼和應(yīng)用程??序。這個(gè)高級(jí)框架通過提供各種強(qiáng)大功能來簡化Web應(yīng)用程序開發(fā)。它具有各種各樣的庫,強(qiáng)調(diào)了有效性,對(duì)編碼的需求減少以及組件的可重用性。
 

  b.櫻桃皮
 

  CherryPy是一個(gè)開放源代碼的Python Web開發(fā)框架,它植入了自己的多鏈服務(wù)器。它可以繼續(xù)在任何支持Python的工作框架上運(yùn)行。CherryPy功能集成了線程池化的Web服務(wù)器,設(shè)置框架和模塊框架。適度的Web框架使您可以利用各種技術(shù)進(jìn)行數(shù)據(jù)訪問,模板化等。然而,它可以完成Web框架可以執(zhí)行的所有工作,例如,處理會(huì)話,靜態(tài),文件上傳,Cookie等。
 

  c.金字塔
 

  金字塔是支撐驗(yàn)證和指導(dǎo)的框架。對(duì)于像CMS這樣的大型Web應(yīng)用程序而言,這是不可思議的,對(duì)于原型創(chuàng)意和開發(fā)人員放棄API項(xiàng)目而言,這是非常有價(jià)值的。金字塔適應(yīng)性強(qiáng),可用于容易和困難的項(xiàng)目。金字塔的功能得到增強(qiáng),而無需驅(qū)動(dòng)特定的完成方法,輕巧而又不會(huì)隨著應(yīng)用程序的開發(fā)而獨(dú)自一人。由于它的透明性和可衡量的質(zhì)量,它是經(jīng)驗(yàn)豐富的Python開發(fā)人員中最有價(jià)值的Web框架。中等規(guī)模的團(tuán)隊(duì)和Mozilla,Yelp,Dropbox和SurveyMonkey等技術(shù)巨頭都在使用它。
 

  d.燒瓶
 

  Flask是受BSD許可訪問的Python框架,該框架受Sinatra Ruby框架的啟發(fā)。其主要目的是幫助開發(fā)強(qiáng)大的Web應(yīng)用程序基礎(chǔ)。開發(fā)人員可以根據(jù)需要?jiǎng)?chuàng)建任何后端框架,但是該框架是為開放式應(yīng)用程序設(shè)計(jì)的。Flask已被包括LinkedIn和Pinterest在內(nèi)的大公司使用。與Django相比,F(xiàn)lask最適合小型和簡單的項(xiàng)目。因此,您可以期待Web服務(wù)器的開發(fā),對(duì)Google App Engine的支持以及內(nèi)置的單元測試。
 

  e.瓶子
 

  另一個(gè)有趣的Python Web框架是Bottle,它屬于小型框架。最初,它是為構(gòu)建Web API而開發(fā)的。而且,Bottle嘗試在單個(gè)文檔中執(zhí)行所有操作,這應(yīng)該使您對(duì)設(shè)計(jì)的文檔大小有一個(gè)簡短的了解。開箱即用的功能包括模板,實(shí)用程序,定向以及對(duì)WSGI標(biāo)準(zhǔn)的一些基本抽象。與Flask一樣,與全??蚣芟啾?,您將更接近金屬。無論如何,Netflix都使用Bottle來創(chuàng)建Web界面。
 

  2.5。從哪兒開始?
 

  免責(zé)聲明:在本節(jié)中,您將學(xué)習(xí)關(guān)于編程的寶貴課程。
 

  您現(xiàn)在可能知道將來的項(xiàng)目需要哪些庫。很好,但是您仍然需要學(xué)習(xí)如何使用Python進(jìn)行編碼。而且,大概是在本節(jié)中,您希望我們?yōu)槟峁┯嘘P(guān)開始哪些教程或選擇哪些教科書的信息。
 

  很遺憾地通知您,這是您在掌握Python(或就此而言,其他任何編程語言)的過程中第一次感到失望。并不是沒有很好的免費(fèi)教程-那里有很多免費(fèi)教程,其中有些絕對(duì)是很棒的。
 

  不幸的是,無論教程多么出色,它都不可避免地會(huì)遺漏一些東西,否則您將得到其中未描述的錯(cuò)誤。然后怎樣呢?那么,解決方案是使用您可以使用的最重要的工具-Internet進(jìn)行簽入。問題是,在編程過程中,大多數(shù)學(xué)習(xí)過程可能會(huì)通過Google進(jìn)行。程序員必須具備在線查找重要信息的能力。因此,這就是為什么我們現(xiàn)在鼓勵(lì)您自己查找有關(guān)Python的資源。嗯...我聽到絕望的聲音了嗎?
 

  好吧,我們不會(huì)完全讓您使用自己的設(shè)備。您可以采取以下一些可行的步驟來開始使用Python。
 

  如何學(xué)習(xí)Python?
 

  教科書
 

  書籍是在旅途中獲得有關(guān)Python編程的詳細(xì)知識(shí)的好方法。但是,那里有哪些最好的Python書籍?當(dāng)然,市場上有很多Python編程教科書。但是,您還應(yīng)該考慮以下可供初學(xué)者免費(fèi)使用的電子書:
 

  在線課程
 

  免費(fèi)在線課程以學(xué)習(xí)Python
 

  如果您喜歡靈活的學(xué)習(xí)時(shí)間表并選擇自己的學(xué)習(xí)環(huán)境,那么當(dāng)然可以使用在線課程。并且,探索免費(fèi)的學(xué)習(xí)選擇是一個(gè)不錯(cuò)的初始選擇。尤其是如果您是一個(gè)完整的初學(xué)者,但不是100%不確定要準(zhǔn)備深入學(xué)習(xí)Python。因此,您可以從這里開始10 堂免費(fèi)的在線Python課程。當(dāng)然,它們不像某些付費(fèi)課程或完整課程那樣全面。但是它們足夠好,可以為您提供基本的Python入門。
 

  視頻網(wǎng)站
 

  借助Python視頻教程,從視頻網(wǎng)站上尋找資源,也是一個(gè)不錯(cuò)的選擇。
 

  綜上所述,沒有唯一的“學(xué)習(xí)Python的最佳方法”。實(shí)際上,對(duì)于不同的技能水平,可以采取許多不同的方向。因此,最好嘗試其中的一些(或全部)方法,然后查看對(duì)您有用的方法。
 

  學(xué)習(xí)Python時(shí)如何尋求幫助?
 

  隨著您開始編寫更復(fù)雜的代碼,遇到一些困難或遇到錯(cuò)誤是正常的。有時(shí)可能會(huì)感到沮喪,但請(qǐng)記住,它通常是學(xué)習(xí)曲線和編程的一部分。
 

  所以,不用擔(dān)心。畢竟,網(wǎng)上有一個(gè)很棒的社區(qū),當(dāng)您遇到困難時(shí),您可以要求指導(dǎo)?;蛘?,您可以通過與其他程序員分享您的見解來幫助他們。結(jié)論

  希望我能告訴您,一旦您閱讀了本文,您將在一夜之間精通Python。但現(xiàn)實(shí)是,您不會(huì)。將會(huì)有很多反復(fù)試驗(yàn)……然后更多。
 

  我認(rèn)為,通常作為學(xué)習(xí)者,我們感到需要證明我們可以超快無誤地完成工作,而這幾乎完全來自于我們追求完美的內(nèi)在壓力。因此,如果有最后一條建議值得采納,那就是-繼續(xù)練習(xí)。進(jìn)行必要的工作,不要因過程中的困難而灰心?;蛘?,引用Patrick McKenzie的話,
 

  您認(rèn)識(shí)的每一個(gè)偉大的開發(fā)人員都可以通過解決問題來解決問題,直到他們真正解決問題為止。
 

  這就是本文的最終目的。我們希望本概述將成為您學(xué)習(xí)中值得信賴的伴侶。而且,本著開源編程語言的精神,如果您喜歡它并且發(fā)現(xiàn)它很有用,請(qǐng)花一點(diǎn)時(shí)間并分享它,以便其他人也可以學(xué)習(xí)和進(jìn)步!




 

預(yù)約申請(qǐng)免費(fèi)試聽課

填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!

?2007-2021/北京漫動(dòng)者教育科技有限公司版權(quán)所有
備案號(hào):京ICP備12034770號(hào)

?2007-2022/ 5wd995.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號(hào)

網(wǎng)站地圖