每個人都喜歡Python。如果您打算開始從事數(shù)據(jù)科學(xué)事業(yè),我們可以肯定Python在您心中已經(jīng)占有特殊的位置。它直觀且易于在任何平臺上運行,并且具有大量令人驚嘆的庫和工具。與其他編程語言相比,Python在深度學(xué)習(xí)算法方面也提供了強大的支持。此外,它擁有龐大的數(shù)據(jù)科學(xué)家和開發(fā)人員社區(qū),可以不斷改進語言。實際上,關(guān)于Python編程,還有更多的話要說–應(yīng)用程序,工作前景,IDE,庫,框架,從何處開始,如何開始……,我們專門針對它進行全面介紹。
因此,歡迎閱讀學(xué)習(xí)大數(shù)據(jù)分析python編程指南!
我們將文章分為兩部分。第一個面向那些不了解Python是什么,或者想知道是否開始學(xué)習(xí)Python的人。第二部分包含了一旦決定開始學(xué)習(xí)Python便可以應(yīng)用的信息和實用技巧。
要瀏覽指南,您可以使用下面的目錄。您可以決定跳到您感興趣的部分,或者一遍又一遍地閱讀整篇文章。無論哪種方式,您都將獲得一些寶貴的見解。
我們希望該Python指南對您有所幫助,并且對每個人都有好處。請享用!
內(nèi)容
Python概述
a.什么是Python
b.Python的應(yīng)用是什么
c.為什么要學(xué)習(xí)Python
d.Python與其他語言
e.Python難學(xué)嗎
f.工作前景
Python入門
a.要學(xué)習(xí)哪個Python版本
b.如何安裝Python
c.哪些是最適合Python開發(fā)的IDE
d.頂級的Python庫和框架
e.從哪兒開始
f.實踐使完美
一、Python概述
在本節(jié)中,我們將介紹Python的起源及其用途。我們還將為您提供為什么它是學(xué)習(xí)的最佳編程語言之一的主要原因。
1.1什么是Python?
Python是一種開放源代碼,跨平臺的通用編程語言。就編程語言而言,它既不是新的,也不是太老。它的開發(fā)始于80年代后期,并于1991年首次向公眾發(fā)布。Python語言創(chuàng)建者Guido van Rossum對此有明確的愿景:使其像普通英語一樣易于理解?;叵肫饋恚@可能有點過于樂觀。盡管如此,語言的目的是強調(diào)可讀性和有效空白的使用。換句話說,它努力與人類語言盡可能接近?,F(xiàn)在,Python這個名字呢?
您可能會像許多人一樣認為,該名稱起源于受到飲食挑戰(zhàn)的蛇。你會錯的。事實證明,Rossum(Python的創(chuàng)造者)是英國喜劇的忠實擁護者……并在實現(xiàn)Python的同時從Monty Python的Flying Circus中讀取腳本。因此,這個名字是對偉大的英國喜劇制作者的致敬。
現(xiàn)在,如果這還不足以激發(fā)您對Python及其創(chuàng)建者的興趣,那么下一節(jié)將回答一個重要問題:Python的應(yīng)用程序是什么?
1.2Python的應(yīng)用是什么?
在過去的幾年中,Python越來越流行,現(xiàn)在已廣泛用于各種應(yīng)用程序中。它甚至經(jīng)常被稱為“學(xué)習(xí)的最佳編程語言”。Python用于開發(fā)YouTube之類的視頻播放器,Instagram之類的強大應(yīng)用,在Intel處測試微芯片,在Google處運行搜索引擎,甚至在紐約證券交易所(NYSE)進行交易。您知道編程語言在維護證券交易所系統(tǒng)時非常強大。實際上,NASA在對設(shè)備和太空機器進行編程時也使用Python。好吧,那不是嗎?讓我們進一步審查其中一些應(yīng)用程序。
數(shù)據(jù)科學(xué)用Python
最近,Python在各個行業(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é)算法以使用戶受益時。使Python成為數(shù)據(jù)科學(xué)家的絕佳工具的另一個方面是Matplotlib和Seaborn附帶的強大可視化工具。
適用于機器學(xué)習(xí)的Python
如果您以前從未聽說過機器學(xué)習(xí)(ML),請快速入門。ML是指計算機能夠從訓(xùn)練數(shù)據(jù)中“學(xué)習(xí)”(將模型擬合到輸入中)以做出預(yù)測(例如,基于客戶過去的數(shù)據(jù)來購買該產(chǎn)品的可能性如何)的能力購買)。它被“智能”算法(使用大型數(shù)據(jù)集)和許多公司廣泛采用。
確實,公司有很多使用Python的充分理由。
它的庫(例如Scikit-learn,TensorFlow和NLTK)被廣泛用于預(yù)測趨勢,例如客戶滿意度,股票的預(yù)計價值等。說到庫,TensorFlow的故事尤其有趣。Google開發(fā)了它供內(nèi)部使用,但他們在2015年將其發(fā)布為開放源代碼庫。但是我們將在2.4節(jié)中重新討論它,在此我們將詳細介紹Python庫。
鑒于當今機器學(xué)習(xí)和人工智能的重要性日益增長,Python的這一方面肯定會進一步提高。
用于Web開發(fā)的Python
HTTP編程(或者,我們通常稱之為Web開發(fā))不再只是使用JavaScript完成。實際上,Python在其中也扮演著重要的角色。因此,在本節(jié)中,我們將向您介紹一個稱為Django的主要Python框架。此外,我們還會看到一些使用Django為其Web服務(wù)的主要公司。
Django是一個完整的Web框架?,F(xiàn)在,這到底是什么意思?全棧框架為您提供構(gòu)建完整的Web應(yīng)用程序所需的一切。其中包括網(wǎng)絡(luò)服務(wù),數(shù)據(jù)庫管理,甚至HTML生成。因此,Django是《衛(wèi)報》,《紐約時報》,Instagram和Pinterest等網(wǎng)站和服務(wù)的基礎(chǔ)也就不足為奇了??雌饋恚绻獦?gòu)建大型而復(fù)雜的Web應(yīng)用程序,那么Django是必經(jīng)之路。
但是,如果您想創(chuàng)建簡單的Web應(yīng)用程序怎么辦?
讓我們潛入另一個使用Python創(chuàng)建網(wǎng)站內(nèi)容的選項– Flask。Flask是一個微型輕量級的Web框架。這意味著它更加直觀且易于使用。如果要完成更復(fù)雜的任務(wù),則可能需要第三方框架。但請考慮一下:在2018年,F(xiàn)lask超過Django 2%,其中47%的用戶選擇Flask,45%的用戶選擇Django。這表明Web開發(fā)行業(yè)已經(jīng)朝著較小的框架,微服務(wù)和“無服務(wù)器”平臺發(fā)展。這可能是您考慮加入這一工作的最佳時機。
用于游戲開發(fā)的Python
我們不會加糖,這是Python缺乏競爭的地方。盡管它具有用于游戲開發(fā)的庫,例如PyGame和PyOpenGL,但它們經(jīng)常證明不足以提供足夠的功能。盡管它通常對創(chuàng)建2D游戲很有好處,但游戲開發(fā)人員認為它比C#和C ++等編譯語言要慢。此外,它可能不是圖形選擇的最佳選擇,并且它不提供豐富的開發(fā)工具或編輯器。加上Python是高級解釋語言的事實,使得它對游戲開發(fā)人員而言并不是那么吸引人。
盡管如此,由于在其中編寫代碼的速度很快,Python在原型設(shè)計方面非常有幫助。本質(zhì)上,在決定是否在開發(fā)游戲上投入時間和資源時,構(gòu)建原型很有用–概念驗證。這就是Python發(fā)揮作用的地方,因為它能夠比其他語言更快地生成簡單的2D工作原型。
此外,Python在在線游戲社區(qū)中扮演著重要角色。在其幫助下開發(fā)的游戲的顯著示例包括Civilization IV(使用Python進行邏輯和服務(wù)器控件),Eve Online(使用Stackless Python)和《坦克世界》(使用Python進行內(nèi)部邏輯和腳本編寫)。最后,Snakeworlds – 3D蛇游戲,將著名的經(jīng)典游戲放到球體/地球儀上。它完全用Python-Ogre編寫。
1.3為什么要學(xué)習(xí)Python?
好的,這就是我們真正要涉足的地方。我們將開始回顧Python的許多核心方面,討論優(yōu)點和缺點,并將其與其他編程語言進行比較。如果您渴望對Python功能有一些深入的了解,那么您來對地方了。
在開始之前,我們首先來看一個重要的但經(jīng)常被誤解的區(qū)別:編碼不是編程。大多數(shù)人可以互換使用這些術(shù)語,坦率地說,這樣做很方便。但是,解釋它們背后的概念可以幫助初學(xué)者對編程產(chǎn)生更有益的態(tài)度。
因此,簡單地說,編碼和編程之間的區(qū)別與為小說提出故事并將其寫在書中的區(qū)別相同。讓我們詳細說明。如果您想寫小說,問自己如何用英語寫小說不是第一步。您的重點應(yīng)該放在創(chuàng)建具有所有要素的故事上。只有這樣,您才能以所需的任何語言將其整齊地寫出來。
同樣的原理也適用于編程-這是一個分為兩個階段的過程。
首先,您面臨一個問題(假設(shè)您必須找到城市之間的最短路徑)。
然后,您必須想出一些步驟,才能在這些城市的每個初始圖形配置中為您提供正確的答案(我們將此稱為算法)。這是編程中最重要的階段,并且(主要)獨立于所使用的語言。但是一旦遇到問題,您就可以開始通過編程語言將指令傳達給計算機。那就是編碼階段。僅僅學(xué)習(xí)一種特定語言的代碼還不足以成為一名優(yōu)秀的程序員。第一次學(xué)習(xí)編程時,您應(yīng)該專注于解決問題的技術(shù),而不是語言本身。
話雖如此,不同的語言肯定會加速或減慢學(xué)習(xí)過程。我們認為Python是適合初學(xué)者進行編程的最佳語言之一。讓我們看看原因:
Python是一種開源語言,這意味著它是免費使用的,每個人都可以為其代碼和庫的編寫和維護做出貢獻。確實,很多人,甚至公司,都花了很多時間和精力來擴展和完善Python。這是使該語言對社區(qū)如此吸引人的重要原因。
此外,Python是一種高級通用語言。高級意味著它遠離0和1,因此更接近人類語言。因此,您不必擔(dān)心內(nèi)存管理和刪除對象(以及其他問題)。這樣,您就可以完全專注于解決編程問題。這使Python成為從未學(xué)習(xí)過編程的人們的理想之選,因為它可以極大地改善他們的學(xué)習(xí)經(jīng)驗。
最后,通用性表明Python非常通用。如上所述,我們可以將其用于Web和軟件開發(fā)以及網(wǎng)絡(luò)編程。最重要的是,尤其是數(shù)據(jù)科學(xué)和機器學(xué)習(xí)在其日益找到應(yīng)用的領(lǐng)域。因此,F(xiàn)acebook,Quora,Twitter,Spotify和Netflix等主要公司大量使用Python不足為奇?,F(xiàn)在,盡管這些網(wǎng)站和平臺不是用 Python 編寫的,但許多支持過程,尤其是與分析有關(guān)的過程,都是用它來執(zhí)行的。
總體而言,Python在開發(fā)人員中的穩(wěn)步增長。它確實受到了社區(qū)的歡迎,無論是前端還是后端用戶。憑借其廣泛的功能,使用它的不僅是主要的公司。整個行業(yè)中,IT行業(yè)正在整合Python來開發(fā)各種產(chǎn)品。
Python的優(yōu)缺點是什么?
那么,使這種編程語言如此吸引人的關(guān)鍵方面是什么?
優(yōu)點:
a.易于學(xué)習(xí) -關(guān)鍵字少,結(jié)構(gòu)簡單,語法清晰。這使學(xué)生可以快速掌握語言。
b.易于閱讀 –由于廣泛使用空格,因此可以更清晰地定義Python代碼。
c.生產(chǎn)力 – Python代碼可以更快地編寫。
d.交互模式 –支持允許交互測試和調(diào)試代碼段的交互模式。
e.廣泛的標準庫 – Python以“包含電池”語言而聞名。有300多個標準庫模塊,其中包含用于各種編程任務(wù)的類。
f.跨平臺 – Python在Windows,Linux,Mac OSX等不同的OS平臺上同樣能很好地工作。因此,它的應(yīng)用程序可以輕松地跨OS平臺移植。
g.可擴展 –您可以將低級模塊添加到Python解釋器。這些模塊使程序員能夠添加或自定義其工具,從而提高效率。
h.可嵌入-Python也可嵌入。您可以將代碼放入其他語言的源代碼中,例如C ++。
i.支持庫的廣泛集合 –有許多用于Python的庫,這些庫為語言增加了很多功能。
缺點:
a.速度限制 – Python被解釋,導(dǎo)致代碼執(zhí)行緩慢。但是,這不是問題,除非速度是項目的重點。換句話說,除非需要高速,否則Python提供的好處足以超過其局限性。
b.移動技術(shù)薄弱 -盡管它已經(jīng)出現(xiàn)在許多臺式機和服務(wù)器平臺上,但它被認為是移動計算的一種較弱的語言。這就是為什么很少的移動應(yīng)用程序使用它的原因。
c.難以使用其他語言 -Python支持者已經(jīng)非常習(xí)慣于其功能和豐富的庫,以至于在學(xué)習(xí)或使用其他編程語言時會遇到問題。通常,Python專家可能會看到變量類型的聲明以及添加花括號或分號作為一項繁重的任務(wù)的語法要求。
靜態(tài)和動態(tài)打字
在解釋Py??thon的特性時,我們不能忘記提到它是一種動態(tài)類型的語言。簡而言之,Python中的變量沒有預(yù)定義的類型(例如整數(shù)或字符串)。而是在程序運行時動態(tài)確定變量的類型。例如,如果在某一時刻我們將值10分配給變量A,Python會自動確定此變量的類型為int(整數(shù))。如果稍后將其更新為10.0,則它將為浮點數(shù)(實數(shù))。
相反,在像C ++這樣的靜態(tài)類型語言中,變量的類型寫在代碼本身中。因此,如果要使用A作為整數(shù),請輸入“ int A”。現(xiàn)在,我們只能為A分配整數(shù)值。如果嘗試為A分配非整數(shù)值,程序?qū)⒎祷劐e誤。
當然,這兩個概念都有其優(yōu)點和缺點。對于初學(xué)者來說,動態(tài)類型化的語言更容易掌握。但是,由于沒有人知道運行時之前的變量類型,因此可能會遇到難以跟蹤的意外錯誤。
但是,讓我們避開這些有點抽象的比較,看看Python如何針??對其他流行的編程語言進行度量。
1.4Python與其他語言
在本節(jié)中,我們將Python與其他編程語言進行比較:R,C ++和Java。閱讀后,您將可以決定哪種編程語言最適合您的實際需求。
Python vs R
Python是一種腳本語言。從某種意義上說,它非常強大,只需執(zhí)行幾行代碼就可以執(zhí)行各種動作。您可以讀取,分析,可視化甚至預(yù)測巨大的數(shù)據(jù)集,所有這些僅需要幾行代碼。
碰巧的是,R也是一種腳本語言。那么兩者如何比較?盡管兩者都有優(yōu)點和缺點,但是在最近幾年中,Python一直是程序員使用的主要語言。原因是什么?好吧,有幾個。
首先,盡管兩種語言都是免費和開源的,但我們使用R主要是用于統(tǒng)計分析(實際上是由統(tǒng)計學(xué)家開發(fā)的)。相比之下,Python是一種通用語言(這是該語言的重要功能,并且需要重復(fù))。
通用意味著它適合所有類型的需求;不僅是數(shù)據(jù)科學(xué)和機器學(xué)習(xí),還包括預(yù)處理,Web編程以及幾乎所有您能想到的東西。
Python的另一個優(yōu)點是它是高級的。松散地解釋了它的語法,它很容易接近邏輯人類語言,后來又翻譯成低級語言(例如C)或什至0和1。例如,NumPy包實際上是通過編程語言C進行的。這解釋了為什么它這么快。
讓我們談?wù)勱P(guān)于R的最后一件小事。R中的圖形并不是最好的。但這是輕描淡寫。很多。實際上,圖形是如此糟糕,以至于R推出了專門針對該問題設(shè)計的R Shiny。我們喜歡Shiny,非常漂亮。就是說,盡管在某些情況下也可能缺少Python中的圖形,但最近在這方面進行了改進。在matplotlib頂部使用的Seaborn,絕對使圖形看起來比以前更好。
Python與Java和C ++
現(xiàn)在,我們強調(diào)了Python是一種腳本語言這一事實??。盡管這是事實,但它并不能為我們提供全面的信息。
盡管許多人主要使用Python運行腳本,但它也具有面向?qū)ο蟮墓δ?,例如C ++和Java。就是說,我們發(fā)現(xiàn)使用Python學(xué)習(xí)編程比使用其他兩個編程要容易得多。
為什么,我聽到經(jīng)驗豐富的C ++程序員在屏幕后面大喊?我們知道您是通過艱苦的方式學(xué)習(xí)編程的,并且對此感到非常滿意,因為一切都以超快的速度運行,并且不再有那么多的內(nèi)存泄漏。而且,只要您確切知道自己在做什么,代碼就可以運行,對嗎?(是的,本文的作者也喜歡C ++。)
好吧,讓我們扮演魔鬼的擁護者,并認為可能有一種更輕松,更直觀的方法來學(xué)習(xí)編程基礎(chǔ)。
首先考慮:Java。許多程序員的第一語言。
Java具有對象和類,這是初學(xué)者很難理解的概念。從個人經(jīng)驗來看,這可能涉及您父親漫長的夏天大喊:“類和對象之間有什么區(qū)別?!”,然后您試圖找出正確的答案。記錄下來,答案是–對象是類的實例。這使事情更清楚了嗎?是的,這就是我們的想法。理解這些概念需要花費一些時間。如果您是初學(xué)者,則用Java編寫和運行代碼可能會花費更長的時間。簡而言之,這就是Java(確實是一個很小的概括,但是您知道了)。
C ++是“真正的”程序員語言呢?
它的座右銘是“您得到所要付出的代價”(但也許不要在那句話上引用我們)。在C ++中,您負責(zé)處理內(nèi)存,即對象的創(chuàng)建和刪除。此外,訪問內(nèi)存中那些對象的方式是通過指針,指針可以具有自己的指針,而指針又可以具有自己的指針……您可以得到point(er)。C ++也不太適合初學(xué)者。
讓我們將它們與Python編程進行比較。但是,就像非常簡單的編程一樣。(想象)您是一個完全的新手,想編寫您的第一個程序。對于每個程序員,無論使用哪種語言,都意味著編寫您的第一個“ Hello,World”。
因此,這就是代碼在Java中的外觀:
這是在C ++中:
現(xiàn)在,讓我們看一下Python:
設(shè)置環(huán)境并打開腳本文件后,使用Python編寫“ hello world”只需要一個簡單的print()函數(shù)和您的文本。在Python 2中,您甚至不需要括號!確實沒有比這更簡單的了。這是我們一開始所討論的可讀性因素。這也是為什么我們比其他編程語言更喜歡Python的原因。順便說一句,如果您發(fā)現(xiàn)此分析有用,請考慮與其他編碼人員朋友共享本文。Python社區(qū)很棒是它很棒的原因之一,所以讓我們幫助它變得更大。
1.5Python難學(xué)嗎?
簡短的答案:這取決于。但這不是您想要的答案,對嗎?不用擔(dān)心,在開始學(xué)習(xí)Python之前,我們將解釋您需要了解的所有內(nèi)容。從...開始…
學(xué)習(xí)Python多長時間?
對于一個完整的新手來說,學(xué)習(xí)如何很好地使用Python進行編程大約需要3個月的相對一致的學(xué)習(xí)(基于我們自己的估計)。
但是,如果您打算將Python用于數(shù)據(jù)科學(xué)(即數(shù)據(jù)分析或機器學(xué)習(xí)),則時間軸實際上會更短。由于數(shù)據(jù)科學(xué)需要非常特定的語言使用方法,因此需要花一個月到兩個月的時間才能理解基礎(chǔ)知識。完全披露信息是基于我們的學(xué)生完成我們自己的數(shù)據(jù)科學(xué)培訓(xùn)的速度。在365數(shù)據(jù)科學(xué)計劃大約需要200個小時才能完成。除其他主題外,它還包括數(shù)學(xué),統(tǒng)計學(xué)和Python的基礎(chǔ)知識。它還介紹了更高級的主題,例如使用sklearn,numpy和pandas進行機器學(xué)習(xí),并使用用于神經(jīng)網(wǎng)絡(luò)的TensorFlow(版本1和2)庫涵蓋了深度學(xué)習(xí)。因此,如果您真正致力于并每天花五個小時學(xué)習(xí),那么大約需要一個月的時間來學(xué)習(xí)Python數(shù)據(jù)科學(xué)分析的主要原理。
也就是說,您精通Python或任何編程語言所花費的時間取決于……嗯,您。
不同的人以不同的速度學(xué)習(xí)。您學(xué)習(xí)Python的能力還取決于您的編程背景。如果您已經(jīng)精通某種編程語言,那么熟悉Python可能會涉及到習(xí)慣于不同的庫。
但是,如果您從未編程過該怎么辦?好吧,這實際上可能是一個優(yōu)勢。我們認為,使用Python這樣的語言來學(xué)習(xí)編程的基礎(chǔ)要容易得多。
1.6工作展望
Python的工作前景如何?
要說Python的工作前景是積極的,則輕描淡寫。隨著它的受歡迎程度不斷提高,對Python作為雇主首選技能的需求猛增。
實際上,電氣和電子工程師協(xié)會(IEEE-世界上最大的技術(shù)進步專業(yè)技術(shù)組織)認為Python是2019年的“大卡胡納語”,在其年度互動十大編程中排名第一。語言。
但是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)。
這如何轉(zhuǎn)化為Python的工作機會?
讓我們深入研究數(shù)字。
Python工作需求量很大嗎?
絕對。Python是全球薪水最高的語言,薪水中位數(shù)為63,000美元。通用語言已在數(shù)據(jù)科學(xué)工作中廣泛使用。該報告基于美國最大的工作網(wǎng)站–Indeed.com的數(shù)據(jù)。他們將強調(diào)某些軟件熟練程度的職位發(fā)布數(shù)量進行了統(tǒng)計,發(fā)現(xiàn)Python排名第二的是27,374個職位,緊隨其后的是SQL的25,877個職位。根據(jù)記錄,Java和C分別位于17,000和13,000的工作列表中。同比增長呢?從2017年到現(xiàn)在(2019年),Python再一次成為無可爭議的冠軍,增長了97%。
從中國的前景來看,那里的就業(yè)市場也相當健康。
據(jù)ITJobsWatch摘要統(tǒng)計報告,過去6個月中,已有16,004個永久工作被Python引用,年薪中位數(shù)為61,242英鎊。與2017年同期相比,漲幅為11.16%。
但是雇主怎么說呢?Python是使用高級分析進行業(yè)務(wù)和產(chǎn)品開發(fā)的組織中排名第一的編程語言。調(diào)查的回應(yīng)來自500家公司的中層管理人員,高級管理人員和執(zhí)行層管理人員。
因此,就雇主在尋找什么而言,Python似乎已接近統(tǒng)治地位。就是說,現(xiàn)在該是我們調(diào)查那里最令人垂涎??的Python工作角色的時候了。
您可以采用Python的哪些職業(yè)道路?
精通Python是技術(shù)和數(shù)據(jù)科學(xué)職業(yè)領(lǐng)域不可或缺的技能之一。這是Python專家可以遵循的一些最有利可圖的職業(yè)道路。
Python開發(fā)人員
對于精通Python的人來說,最明顯的選擇。Python開發(fā)人員將其用于各種任務(wù),從構(gòu)建網(wǎng)站和優(yōu)化數(shù)據(jù)算法到查找數(shù)據(jù)分析解決方案以及執(zhí)行安全性和數(shù)據(jù)保護。更不用說這種編程語言非常適合編寫可測試,可重用和令人難以置信的高效代碼。
機器學(xué)習(xí)工程師
Python的專業(yè)知識是機器學(xué)習(xí)工程師的關(guān)鍵要求之一。機器學(xué)習(xí)涉及連續(xù)的數(shù)據(jù)處理,Python強大的庫生態(tài)系統(tǒng)無疑是應(yīng)對挑戰(zhàn)的基礎(chǔ)。難怪機器學(xué)習(xí)工程師會首選Python庫來訪問和轉(zhuǎn)換數(shù)據(jù),以及處理諸如聚類,回歸和分類之類的基本ML算法。
數(shù)據(jù)科學(xué)家
Python是動手進行統(tǒng)計建模的首選語言。大約68%的數(shù)據(jù)科學(xué)家表示這是他們最喜歡的編程語言(去年為44%)。而且,如果您到目前為止一直在關(guān)注,那么在機器學(xué)習(xí)方面,Python也是必不可少的。
數(shù)據(jù)分析師
Python是處理大量數(shù)據(jù),清理它并處理它以進行分析的最好的語言之一,而這正是數(shù)據(jù)分析師所做的很多事情。與其他更復(fù)雜的工具相比,Python可以幫助他們更快地完成所有工作。數(shù)據(jù)分析師還使用Python及其軟件包將其數(shù)據(jù)分析任務(wù)與Web應(yīng)用程序集成在一起,或?qū)⒔y(tǒng)計代碼合并到生產(chǎn)數(shù)據(jù)庫中。
BI分析師
對于BI分析師而言,Python 不是絕對必須的。但是,在商業(yè)智能領(lǐng)域,它變得越來越受歡迎。BI分析師是核心的多任務(wù)處理者。這樣,他們可以將Python用于各種商業(yè)智能任務(wù)。他們可以通過將其導(dǎo)入數(shù)據(jù)庫程序,對其進行清理和標準化來使用它來準備數(shù)據(jù)。此外,BI分析師可以通過從查詢創(chuàng)建Pandas DataFrame,制作數(shù)據(jù)質(zhì)量報告,生成摘要統(tǒng)計信息以及創(chuàng)建圖表來探索數(shù)據(jù)。最后,Python可以協(xié)助BI分析師進行數(shù)據(jù)分析和分析,因此他們可以可視化并報告其見解,以制定明智的業(yè)務(wù)決策。
數(shù)據(jù)工程師
Python的豐富庫可幫助數(shù)據(jù)工程師訪問數(shù)據(jù)庫和存儲技術(shù)。此外,數(shù)據(jù)工程師使用它來編碼ETL框架以及API交互和自動化??傮w而言,Python是功能強大且用途廣泛的工具,可讓數(shù)據(jù)工程師快速,高效地解決問題。
數(shù)據(jù)架構(gòu)師
數(shù)據(jù)架構(gòu)師開發(fā)高級Python腳本,以分析,清理和轉(zhuǎn)換大型數(shù)據(jù)集,并準備將其用于商業(yè)智能,分析和財務(wù)建模功能。
作者的注釋:Python對于獲得數(shù)據(jù)科學(xué)工作至關(guān)重要。但是,這只是您想要在現(xiàn)場獲得的技能之一。
使用Python的熱門行業(yè)是哪些?
根據(jù)ActiveState的十大用例,以下是使用Python 的十大行業(yè):
a.保險;
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é)中,我們匯總了大量信息和實用技巧,可幫助您找到自己的出路。我們將概述Python 2和Python 3之間的區(qū)別,并指導(dǎo)您完成安裝過程。然后,我們將回顧最佳的Python庫和IDE及其用例。此外,在這里您將發(fā)現(xiàn)開始學(xué)習(xí)Python的可行步驟,以及可以使用的良好免費資源列表。最后,我們將向您展示如何從經(jīng)驗豐富的Python用戶那里尋求幫助。但首先要注意的是:
2.1要學(xué)習(xí)哪個Python版本?
如果您嘗試下載Python,您可能會對兩個同樣重要的版本2.7和3.7(在撰寫本文時)感到驚訝。因此,現(xiàn)在您可能想知道:我應(yīng)該學(xué)習(xí)Python 2還是學(xué)習(xí)Python 3?
過去,編碼社區(qū)一直在爭論哪個版本是最好的學(xué)習(xí)版本。但這已經(jīng)發(fā)生了變化,現(xiàn)在變得或多或少了:Python 3無疑是贏家。我們將探討原因,但首先讓我們看一下這些版本的歷史。
Python 2.0于2000年首次發(fā)布,其最終的主要版本Python 2.7于2010年問世。
但是,這還沒有結(jié)束,因為直到今天仍可得到持續(xù)的支持。但是,開發(fā)人員很早就意識到他們需要進行重大更改以改進語言。因此,在2008年12月,Python發(fā)布了3.0版。這個版本主要是為了解決Python 2中存在的問題而開發(fā)的。但是這些更改的性質(zhì)使得Python 3最終與Python 2不兼容!因此,對于使用Python 2.x版本的任何組織,將其項目遷移到3.x都需要大量的調(diào)整和工作。因此,許多公司決定繼續(xù)使用版本2并為其開發(fā)更多庫。因此,繼續(xù)支持Python 2。
但是萬事必須最終結(jié)束。
因此,開發(fā)人員宣布2020年1月1日將是Python 2淘汰的日子。在此日期之后,將不再對此版本進行更新和支持,并且使用此版本的每個人都必須盡快切換到Python 3。這不是操練- 時鐘確實在滴答作響。
因此,Python 3是未來的明確方向,也是每個初學(xué)者都應(yīng)該選擇的版本。但是,如果您的公司有用Python 2編寫的項目,或者也許您必須使用僅受Python 2支持的第三方庫,則可能需要了解兩個版本之間的區(qū)別。這里有一些人(也有從很多地方,從來到),讓你開始:
2.2如何安裝Python?
Python可與Windows,Linux,Mac OS和某些其他平臺(例如IBM AS / 400,iOS,Solaris等)一起使用。并且有多種方法可以在計算機上安裝它。
開箱即用地向Python添加功能的一種簡單方法是通過Anaconda發(fā)行版,這對(數(shù)據(jù))科學(xué)家而言尤其重要。它包括庫存的Python以及對科學(xué)家和機器學(xué)習(xí)至關(guān)重要的庫,例如NumPy,SciPy,Pandas(請參閱第2.4節(jié))。不僅如此,它還配備了兩個IDE(請參閱下一節(jié)2.3)– Spyder和Jupyter Notebook。另外,它非常容易安裝-只需選擇您的操作系統(tǒng),然后點擊下載即可。然后,剩下要做的就是完成基于向?qū)У脑O(shè)置,您就可以開始了。
你可以,當然,選擇Python的軟件在python.org/downloads標準分布在這里。只是不要忘記在設(shè)置中選中“將Python 3.x添加到PATH”復(fù)選框。
2.3。哪些是最適合Python開發(fā)的IDE?
到目前為止,一切都很好。您已經(jīng)安裝了Python,但是現(xiàn)在您需要在某個地方編寫代碼并運行它。這就是IDE的用武之地。
首先,讓我們弄清楚IDE的含義。IDE代表集成開發(fā)環(huán)境。它是一種編碼工具,可讓您以更輕松的方式編寫,測試和調(diào)試代碼,因為它們通常通過突出顯示,資源管理,調(diào)試工具等提供代碼完成或代碼洞察力。
那么,什么是最好的Python IDE?好吧,這取決于您的喜好以及使用這種編程語言的原因??紤]到這一點,在這里我們將介紹一些最受歡迎的(截至撰寫本文時),以便您可以做出明智的決定。
適用于科學(xué)和數(shù)據(jù)分析的Python IDE
斯派德
Spyder是一種輕量級的開源IDE,專門為科學(xué)和數(shù)據(jù)分析使用而設(shè)計和構(gòu)建。如果您從未使用過IDE,那么它可能是一個完美的第一站,因為學(xué)習(xí)過程很順利。
Spyder包括在Anaconda發(fā)行版中,以及數(shù)據(jù)科學(xué)和機器學(xué)習(xí)必不可少的庫-NumPy,SciPy,Pandas,scikit-learn,Matplotlib等。而且,就安裝而言,通過Anaconda進行安裝是更可取的方法。
Spyder包含您可能期望的大多數(shù)常見IDE功能,例如具有健壯的語法突出顯示功能的代碼編輯器,代碼完成功能,甚至是集成的文檔瀏覽器。
此外,它還具有幾個非常有用的功能-圖形變量瀏覽器和IPython(交互式Python)控制臺。
變量資源管理器包含程序中的所有數(shù)據(jù)(變量),并在IDE內(nèi)部使用基于表的布局顯示它。這使您可以快速地進行交互和修改,單擊直方圖和時間序列,對集合進行排序等等。
您可能會發(fā)現(xiàn)有趣的另一件事是,IPython控制臺允許初學(xué)者和數(shù)據(jù)科學(xué)家執(zhí)行一行代碼并可視化數(shù)據(jù),從而使他們受益匪淺。對于教育目的和調(diào)試而言,這都是很棒的。
從本質(zhì)上講,Spyder非常適合初學(xué)者和專業(yè)人士,但我們意識到,有些退伍軍人可能會覺得它太基礎(chǔ)了,缺乏某些更高級的功能。
Jupyter筆記本
Jupyter Notebook 于2014 年從IPython誕生,它是一個基于服務(wù)器-客戶端結(jié)構(gòu)的Web應(yīng)用程序,它使您可以創(chuàng)建和操作Notebook文檔或“筆記本”。
Jupyter為您提供了一種跨多種編程語言的易于使用的交互式數(shù)據(jù)科學(xué)環(huán)境,該環(huán)境不僅可以用作IDE,還可以用作演示或教育工具。對于剛開始使用數(shù)據(jù)科學(xué)的人來說,它是完美的選擇!
Jupyter Notebook支持降價促銷,因此允許您在代碼行之間添加文本和其他HTML組件,例如圖像和視頻。感謝Jupyter,您可以輕松地查看和編輯代碼,以創(chuàng)建引人入勝的演示文稿。例如,您可以使用Matplotlib和Seaborn等數(shù)據(jù)可視化庫,并在代碼所在的同一文檔中顯示圖形。此外,您可以將最終作品導(dǎo)出為PDF和HTML文件,或僅將其導(dǎo)出為.py文件。
通用Python IDE
PyCharm
PyCharm是一個完整的IDE,適用于Web開發(fā),小型和大型項目。它是由JetBrains(一家以創(chuàng)建出色的軟件開發(fā)工具而聞名的公司)的員工開發(fā)的,面向?qū)I(yè)開發(fā)人員的IDE 。如果您已經(jīng)使用過JetBrains的另一個IDE,因為它的界面和功能都非常相似,那么它對您來說是完美的。
另外,如果您喜歡IPython或Anaconda發(fā)行版,很高興知道PyCharm集成了他們的工具和庫,例如NumPy和Matplotlib。這樣一來,您就可以使用數(shù)組查看器和交互式繪圖。
好了,就安裝而言,有兩種版本的PyCharm供您考慮:
a.社區(qū) –免費的開源版本,輕量級,適合Python和科學(xué)開發(fā);
b.專業(yè)版 –付費版本(每年53歐元,兩年后),功能齊全的IDE,也支持Web開發(fā)。
PyCharm的一個缺點是它可能非常繁重且占用大量資源。因此,對于具有少量RAM(通常小于4GB)的計算機,它可能不是最佳選擇,因為它會滯后。
除此之外,PyCharm還提供了優(yōu)秀的IDE應(yīng)該提供的所有主要功能。此外,它是完全可定制的,并且具有大量用于附加功能的插件。
Visual Studio代碼(VSCode)
VSCode是一個輕量級但功能強大的開源編輯器,可在任何平臺(Windows,Mac,Linux)上訪問。它具有豐富的內(nèi)置編程語言支持和擴展生態(tài)系統(tǒng)。該編輯器每月更新一次,其中包含新功能和錯誤修復(fù)。這以及為各種用例創(chuàng)建有用插件的活躍社區(qū),使VSCode在Python開發(fā)中成為程序員的最愛。
那么,您從擴展中得到什么?
a.使用IntelliSense自動完成;
b.棉絨;
c.代碼格式化;
d.腳本調(diào)試;
e.單元測試;
f.自動激活并在Python環(huán)境之間輕松切換;
j.重構(gòu)命令。
除了編程語言功能外,VSCode擴展還包括其他方便的功能,例如鍵盤映射,UI主題和語言包。擴展程序和主題的安裝非常容易且易于訪問。因此,是的,一旦開始使用Python,您一定應(yīng)該將此IDE放在您的雷達上。
原子
Atom是由GitHub開發(fā)的開源代碼編輯器(不是完整的IDE),可用于Python開發(fā)。它是高度可定制的,使您有機會根據(jù)需要安裝軟件包并根據(jù)需要更改UI。
Atom易于使用且易于學(xué)習(xí)。它提供了對GitHub的大力支持。除此之外,您還可以在Atom本身中可視化結(jié)果,而無需打開任何其他窗口或窗格。此外,您還有一個名為“ Markdown Preview Plus”的插件。它為您提供了編輯和可視化Markdown文件的內(nèi)置支持,允許您打開預(yù)覽,渲染LaTeX方程式等等!
榮譽獎
a.Eclipse + PyDev – Eclipse是非常流行的IDE,主要用于Java代碼。但是,可以使用插件PyDev為Python配置它。
b.it(Online Compiler) –如果您想開始編寫Python代碼而不花時間安裝Python和設(shè)置開發(fā)環(huán)境,則可以使用repl.it。該站點提供了多種語言的在線IDE,包括在線Python Shell。您只需要互聯(lián)網(wǎng)連接和瀏覽器即可上手。
c.Thonny – Thonny是Python IDE系列的最新成員,被稱為初學(xué)者的IDE。它由愛沙尼亞塔爾圖大學(xué)計算機科學(xué)研究所編寫和維護,是專門為教學(xué)和學(xué)習(xí)編程(特別是Python)而設(shè)計的。默認情況下,Thonny帶有自己的捆綁版本的Python,因此您無需安裝其他任何東西。它的用戶界面非常簡單,因此初學(xué)者會發(fā)現(xiàn)使用起來很容易。此外,它還具有一個簡單的調(diào)試器,可讓您逐步執(zhí)行程序,并使您能夠查看Python如何在內(nèi)部評估書面表達式。
總體而言,Thonny的目的是使您充分了解Python的工作原理,而這正是它所提供的。
2.4。哪些頂級Python庫和框架?
Python庫包含各種工具來幫助我們進行編程。我們可能會遇到一個難以解決的問題,但有可能其他人在我們之前遇到了該問題,并編寫了處理該問題的代碼。該代碼可能在某個庫中的某個位置,等待我們使用它。Python有許多不同的庫,但是在這里,我們將僅列出我們認為您可能需要使用的庫。
Python標準庫
這是Python本身附帶的庫。它非常廣泛,提供了各種各樣的功能,您可以在文檔中查看。該庫包含內(nèi)置模塊(用C編寫)。它們提供對系統(tǒng)功能的訪問,例如文件I / O(否則Python程序員將無法訪問)。它還為使用Python編寫的模塊打開了大門,這些模塊為許多常見的編程問題提供了標準化的解決方案。其中一些模塊經(jīng)過明確設(shè)計,旨在通過將特定于平臺的內(nèi)容抽象到與平臺無關(guān)的API中來鼓勵和增強Python程序的可移植性。
用于機器學(xué)習(xí),科學(xué)使用和數(shù)據(jù)分析的Python庫
如前所述,Python被廣泛用于數(shù)據(jù)分析和科學(xué)模擬。在某種程度上,它之所以受歡迎,是因為您可以選擇各種各樣的庫。以下是Top Data Science聯(lián)合創(chuàng)始人兼AI負責(zé)人Oguzhan Gencoglu所說的話:“我們主要在Python中進行開發(fā), 而numpy,scipy和pandas 等科學(xué)庫 至關(guān)重要。對于傳統(tǒng)的 ML,我們使用 scikit-learn / xgboost / GPy。繼續(xù)列出, nltk 和 gensim 對于我們的NLP項目至關(guān)重要。自然地,對于深度學(xué)習(xí),我們在Keras / TensorFlow中進行原型制作如果是工業(yè)協(xié)作,則 在TensorFlow中進行部署 。我們還將 PyTorch用于研究合作。”
也就是說,這是一些最重要的Python庫的列表:
a.NumPy
NumPy是一個非常重要的用于數(shù)值計算的庫,也是許多其他更高級庫的基礎(chǔ)。它提供了廣泛的N維數(shù)組接口和線性代數(shù)函數(shù),這些函數(shù)比普通的Python列表要快幾個數(shù)量級,并且存儲效率更高。這就是為什么它對于仿真和機器學(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í)行諸如積分,求解常微分方程,信號處理和優(yōu)化之類的任務(wù)。
Anaconda軟件包提供了SciPy。
c.Matplotlib
Matplotlib是一個用于創(chuàng)建圖表,圖形和其他數(shù)據(jù)可視表示的庫。對于任何數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析儀而言,這都是至關(guān)重要的。
Matplotlib也是Anaconda軟件包的一部分。
d.TensorFlow
TensorFlow是由Google Brain團隊開發(fā)的開源機器學(xué)習(xí)庫,并于2015年向公眾發(fā)布。幾乎所有用于機器學(xué)習(xí)的Google應(yīng)用程序都使用TensorFlow。TensorFlow的應(yīng)用程序數(shù)量是無限的,這就是它的美。它針對速度進行了優(yōu)化,非常靈活,可以在CPU和GPU上運行。它還具有出色的可視化工具。TensorFlow是Anaconda軟件包的一部分,不包括自動安裝-它需要手動安裝。這可以通過打開anaconda提示符并鍵入“ conda install tensorflow”來完成。
e.Scikit學(xué)習(xí)
Scikit-learn(或簡稱為sk-learn)是與NumPy和SciPy相關(guān)的Python庫。它被認為是處理復(fù)雜數(shù)據(jù)的最佳庫之一,因為它包含許多用于實現(xiàn)標準機器學(xué)習(xí)和數(shù)據(jù)挖掘任務(wù)的算法,例如減少維數(shù),分類,回歸,聚類和模型選擇。
Scikit-learn是Anaconda軟件包的一部分。
f.大熊貓
Pandas是一個數(shù)據(jù)分析庫,它提供高級數(shù)據(jù)結(jié)構(gòu)和各種用于操縱它們的工具。該庫的主要功能之一是能夠使用一個或兩個命令轉(zhuǎn)換具有數(shù)據(jù)的復(fù)雜操作。Pandas具有許多用于分組,合并數(shù)據(jù)和過濾以及時間序列功能的內(nèi)置方法。
熊貓是Anaconda軟件包的一部分。
g.火炬
PyTorch是另一個開源機器學(xué)習(xí)庫,它使開發(fā)人員能夠在GPU加速的情況下執(zhí)行張量計算,創(chuàng)建動態(tài)計算圖并自動計算梯度。它于2017年推出,自成立以來,該庫越來越受歡迎并吸引了越來越多的機器學(xué)習(xí)開發(fā)人員。盡管PyTorch相對來說還很年輕,并且沒有TensorFlow驚人的可視化技術(shù),但它與TensorFlow有著直接的競爭。
PyTorch是Anaconda軟件包的一部分,但它需要手動安裝-打開anaconda提示符并輸入“ conda install pytorch -c pytorch”。
h.凱拉斯
Keras提供了一種表達神經(jīng)網(wǎng)絡(luò)的簡便機制,以及一些用于編譯模型,處理數(shù)據(jù)集,圖形可視化等的最佳實用程序。它注重于用戶友好,模塊化和可擴展性,但卻犧牲了速度。
Keras是深度學(xué)習(xí)研究人員的最愛,排名第二。大型科學(xué)組織(尤其是CERN和NASA)的研究人員也采用了此方法。
Keras不是Anaconda軟件包的一部分。
Python GUI庫
GUI(圖形用戶界面)庫允許程序員創(chuàng)建令人眼花applications亂的應(yīng)用程序。Python是一種交互式語言,因此開始編寫GUI框架并不是一件難事。實際上,Python在該領(lǐng)域有多種選擇:
a.Tkinter
Tkinter通常使用Tk與Python捆綁在一起,并且是Python的標準GUI框架。它以其簡單性和圖形用戶界面而受歡迎。它是開源的,可在Python許可下獲得。選擇Tkinter的優(yōu)點之一是,由于它是默認設(shè)置,因此有大量資源,包括代碼和參考書。
b.wxPython
WxPython是跨平臺GUI庫WxWidgets(以前稱為WxWindows)的開源包裝,并實現(xiàn)為Python擴展模塊。使用WxPython,您作為開發(fā)人員可以為Windows,Mac OS和Unix創(chuàng)建本機應(yīng)用程序。
c.PyQT
PyQT是實現(xiàn)Qt(由諾基亞擁有)應(yīng)用程序開發(fā)框架的Qt庫的最受歡迎的跨平臺Python綁定之一。目前,PyQT可用于Unix / Linux,Windows,Mac OS X和Sharp Zaurus。它結(jié)合了Python和Qt的優(yōu)點。然后由程序員決定是通過編碼還是使用Qt Designer創(chuàng)建可視對話框來創(chuàng)建程序。它既有商業(yè)許可,也有GPL許可。盡管某些功能可能在免費版本中不可用,但是如果您的應(yīng)用程序是開源的,則可以在免費許可證下使用它。
d.PyGUI的
PyGUI是用于Unix,Macintosh和Windows的圖形應(yīng)用程序跨平臺框架。與其他一些GUI框架相比,PyGUI到目前為止是所有框架中最簡單,最輕便的,因為API完全與Python同步。PyGUI在GUI平臺和Python應(yīng)用程序之間插入的代碼要少得多,因此,應(yīng)用程序的顯示通常會顯示平臺的自然GUI。
用于Web開發(fā)的Python框架
考慮到動態(tài)Web開發(fā)的發(fā)展方式,Python框架的普及似乎僅在增加。這種面向?qū)ο?,功能強大的組成,解釋和交互式編程語言非常易于學(xué)習(xí)。而且,它易于閱讀的語法和簡單的編譯功能有效地縮短了開發(fā)時間。
Python為開發(fā)人員提供了廣泛的工具。下面列出了一些流行的Web框架:
a.Django的
Django是一個免費的開源框架,使開發(fā)人員能夠有效,快速地開發(fā)復(fù)雜的代碼和應(yīng)用程??序。這個高級框架通過提供各種強大功能來簡化Web應(yīng)用程序開發(fā)。它具有各種各樣的庫,強調(diào)了有效性,對編碼的需求減少以及組件的可重用性。
b.櫻桃皮
CherryPy是一個開放源代碼的Python Web開發(fā)框架,它植入了自己的多鏈服務(wù)器。它可以繼續(xù)在任何支持Python的工作框架上運行。CherryPy功能集成了線程池化的Web服務(wù)器,設(shè)置框架和模塊框架。適度的Web框架使您可以利用各種技術(shù)進行數(shù)據(jù)訪問,模板化等。然而,它可以完成Web框架可以執(zhí)行的所有工作,例如,處理會話,靜態(tài),文件上傳,Cookie等。
c.金字塔
金字塔是支撐驗證和指導(dǎo)的框架。對于像CMS這樣的大型Web應(yīng)用程序而言,這是不可思議的,對于原型創(chuàng)意和開發(fā)人員放棄API項目而言,這是非常有價值的。金字塔適應(yīng)性強,可用于容易和困難的項目。金字塔的功能得到增強,而無需驅(qū)動特定的完成方法,輕巧而又不會隨著應(yīng)用程序的開發(fā)而獨自一人。由于它的透明性和可衡量的質(zhì)量,它是經(jīng)驗豐富的Python開發(fā)人員中最有價值的Web框架。中等規(guī)模的團隊和Mozilla,Yelp,Dropbox和SurveyMonkey等技術(shù)巨頭都在使用它。
d.燒瓶
Flask是受BSD許可訪問的Python框架,該框架受Sinatra Ruby框架的啟發(fā)。其主要目的是幫助開發(fā)強大的Web應(yīng)用程序基礎(chǔ)。開發(fā)人員可以根據(jù)需要創(chuàng)建任何后端框架,但是該框架是為開放式應(yīng)用程序設(shè)計的。Flask已被包括LinkedIn和Pinterest在內(nèi)的大公司使用。與Django相比,F(xiàn)lask最適合小型和簡單的項目。因此,您可以期待Web服務(wù)器的開發(fā),對Google App Engine的支持以及內(nèi)置的單元測試。
e.瓶子
另一個有趣的Python Web框架是Bottle,它屬于小型框架。最初,它是為構(gòu)建Web API而開發(fā)的。而且,Bottle嘗試在單個文檔中執(zhí)行所有操作,這應(yīng)該使您對設(shè)計的文檔大小有一個簡短的了解。開箱即用的功能包括模板,實用程序,定向以及對WSGI標準的一些基本抽象。與Flask一樣,與全??蚣芟啾?,您將更接近金屬。無論如何,Netflix都使用Bottle來創(chuàng)建Web界面。
2.5。從哪兒開始?
免責(zé)聲明:在本節(jié)中,您將學(xué)習(xí)關(guān)于編程的寶貴課程。
您現(xiàn)在可能知道將來的項目需要哪些庫。很好,但是您仍然需要學(xué)習(xí)如何使用Python進行編碼。而且,大概是在本節(jié)中,您希望我們?yōu)槟峁┯嘘P(guān)開始哪些教程或選擇哪些教科書的信息。
很遺憾地通知您,這是您在掌握Python(或就此而言,其他任何編程語言)的過程中第一次感到失望。并不是沒有很好的免費教程-那里有很多免費教程,其中有些絕對是很棒的。
不幸的是,無論教程多么出色,它都不可避免地會遺漏一些東西,否則您將得到其中未描述的錯誤。然后怎樣呢?那么,解決方案是使用您可以使用的最重要的工具-Internet進行簽入。問題是,在編程過程中,大多數(shù)學(xué)習(xí)過程可能會通過Google進行。程序員必須具備在線查找重要信息的能力。因此,這就是為什么我們現(xiàn)在鼓勵您自己查找有關(guān)Python的資源。嗯...我聽到絕望的聲音了嗎?
好吧,我們不會完全讓您使用自己的設(shè)備。您可以采取以下一些可行的步驟來開始使用Python。
如何學(xué)習(xí)Python?
教科書
書籍是在旅途中獲得有關(guān)Python編程的詳細知識的好方法。但是,那里有哪些最好的Python書籍?當然,市場上有很多Python編程教科書。但是,您還應(yīng)該考慮以下可供初學(xué)者免費使用的電子書:
在線課程
免費在線課程以學(xué)習(xí)Python
如果您喜歡靈活的學(xué)習(xí)時間表并選擇自己的學(xué)習(xí)環(huán)境,那么當然可以使用在線課程。并且,探索免費的學(xué)習(xí)選擇是一個不錯的初始選擇。尤其是如果您是一個完整的初學(xué)者,但不是100%不確定要準備深入學(xué)習(xí)Python。因此,您可以從這里開始10 堂免費的在線Python課程。當然,它們不像某些付費課程或完整課程那樣全面。但是它們足夠好,可以為您提供基本的Python入門。
視頻網(wǎng)站
借助Python視頻教程,從視頻網(wǎng)站上尋找資源,也是一個不錯的選擇。
綜上所述,沒有唯一的“學(xué)習(xí)Python的最佳方法”。實際上,對于不同的技能水平,可以采取許多不同的方向。因此,最好嘗試其中的一些(或全部)方法,然后查看對您有用的方法。
學(xué)習(xí)Python時如何尋求幫助?
隨著您開始編寫更復(fù)雜的代碼,遇到一些困難或遇到錯誤是正常的。有時可能會感到沮喪,但請記住,它通常是學(xué)習(xí)曲線和編程的一部分。
所以,不用擔(dān)心。畢竟,網(wǎng)上有一個很棒的社區(qū),當您遇到困難時,您可以要求指導(dǎo)?;蛘?,您可以通過與其他程序員分享您的見解來幫助他們。結(jié)論
希望我能告訴您,一旦您閱讀了本文,您將在一夜之間精通Python。但現(xiàn)實是,您不會。將會有很多反復(fù)試驗……然后更多。
我認為,通常作為學(xué)習(xí)者,我們感到需要證明我們可以超快無誤地完成工作,而這幾乎完全來自于我們追求完美的內(nèi)在壓力。因此,如果有最后一條建議值得采納,那就是-繼續(xù)練習(xí)。進行必要的工作,不要因過程中的困難而灰心?;蛘?,引用Patrick McKenzie的話,
您認識的每一個偉大的開發(fā)人員都可以通過解決問題來解決問題,直到他們真正解決問題為止。
這就是本文的最終目的。我們希望本概述將成為您學(xué)習(xí)中值得信賴的伴侶。而且,本著開源編程語言的精神,如果您喜歡它并且發(fā)現(xiàn)它很有用,請花一點時間并分享它,以便其他人也可以學(xué)習(xí)和進步!
填寫下面表單即可預(yù)約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費! 怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!
?2007-2022/ mwtacok.cn 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc