Python知識概括

GeorgeLin98發表於2020-12-20

什麼是Python

簡介:

  • Python是一種開放原始碼,跨平臺的通用程式語言。就程式語言而言,它既不是新的,也不是太老。它的開發始於80年代後期,並於1991年首次向公眾釋出。
  • Python語言建立者Guido van Rossum對此有明確的願景:使其像普通英語一樣易於理解。回想起來,這可能有點過於樂觀。儘管如此,語言的目的是強調可讀性和有效空白的使用。換句話說,它努力與人類語言儘可能接近。
  • 現在,Python這個名字呢?
    ①您可能會像許多人一樣認為,該名稱起源於受到飲食挑戰的蛇。你會錯的。事實證明,Rossum(Python的創造者)是英國喜劇的忠實擁護者……並在實現Python的同時從Monty Python的Flying Circus中讀取指令碼。因此,這個名字是對偉大的英國喜劇製作者的致敬。
  • python詳解

Python的應用是什麼

簡介:

  • 在過去的幾年中,Python越來越流行,現在已廣泛用於各種應用程式中。它甚至經常被稱為“學習的最佳程式語言”。Python用於開發YouTube之類的視訊播放器,Instagram之類的強大應用,在Intel處測試微晶片,在百度處執行搜尋引擎,甚至在紐約證券交易所(NYSE)進行交易。您知道程式語言在維護證券交易所繫統時非常強大。實際上,NASA在對裝置和太空機器進行程式設計時也使用Python。好吧,那不是嗎?讓我們進一步審查其中一些應用程式。
  • 資料科學用Python
    ①最近,Python在各個行業的普及率迅速上升,這主要是由於其資料科學庫。
    ②在商業和學術界,Python都發現了廣泛的資料分析應用程式。它是大多數資料科學界的首選語言。為什麼?由於使用了各種工具,因此可以輕鬆使用龐大的資料集並獲得重要的見解。
    ③Python庫(例如NumPy和Pandas)廣泛用於資料集的收集,處理和清理,以及在應用數學演算法以使使用者受益時。使Python成為資料科學家的絕佳工具的另一個方面是MatplotlibSeaborn附帶的強大視覺化工具
  • 適用於機器學習的Python
    ①如果您以前從未聽說過機器學習(ML),請快速入門。ML是指計算機能夠從訓練資料中“學習”(將模型擬合到輸入中)以做出預測(例如,基於客戶過去的資料來購買該產品的可能性如何)的能力購買)。它被“智慧”演算法(使用大型資料集)和許多公司廣泛採用。
    ②確實,公司有很多使用Python的充分理由。
    ③的庫(例如Scikit-learnTensorFlowNLTK)被廣泛用於預測趨勢,例如客戶滿意度,股票的預計價值等。說到庫,TensorFlow的故事尤其有趣。百度開發了它供內部使用,但他們在2015年將其釋出為開放原始碼庫。
    ④鑑於當今機器學習和人工智慧的重要性日益增長,Python的這一方面肯定會進一步提高。
  • 用於Web開發的Python
    ①HTTP程式設計(或者,我們通常稱之為Web開發)不再只是使用JavaScript完成。實際上,Python在其中也扮演著重要的角色。因此,在本節中,我們將向您介紹一個稱為Django的主要Python框架。此外,我們還會看到一些使用Django為其Web服務的主要公司。
    Django是一個完整的Web框架。現在,這到底是什麼意思?全棧框架為您提供構建完整的Web應用程式所需的一切。其中包括網路服務,資料庫管理,甚至HTML生成。因此,Django是《衛報》,《紐約時報》,Instagram和Pinterest等網站和服務的基礎也就不足為奇了。看起來,如果您要構建大型而複雜的Web應用程式,那麼Django是必經之路。
    ③但是,如果您想建立簡單的Web應用程式怎麼辦?讓我們潛入另一個使用Python建立網站內容的選項– Flask。Flask是一個微型輕量級的Web框架。這意味著它更加直觀且易於使用。如果要完成更復雜的任務,則可能需要第三方框架。但請考慮一下:在2018年,Flask超過Django 2%,其中47%的使用者選擇Flask,45%的使用者選擇Django。這表明Web開發行業已經朝著較小的框架,微服務和“無伺服器”平臺發展。這可能是您考慮加入這一工作的最佳時機。
  • 用於遊戲開發的Python
    ①這是Python缺乏競爭的地方。儘管它具有用於遊戲開發的庫,例如PyGamePyOpenGL,但它們經常證明不足以提供足夠的功能。儘管它通常對建立2D遊戲很有好處,但遊戲開發人員認為它比C#和C ++等編譯語言要慢。此外,它可能不是圖形選擇的最佳選擇,並且它不提供豐富的開發工具或編輯器。加上Python是高階解釋語言的事實,使得它對遊戲開發人員而言並不是那麼吸引人。
    ②儘管如此,由於在其中編寫程式碼的速度很快,Python在原型設計方面非常有幫助。本質上,在決定是否在開發遊戲上投入時間和資源時,構建原型很有用–概念驗證。這就是Python發揮作用的地方,因為它能夠比其他語言更快地生成簡單的2D工作原型。
    ③此外,Python在線上遊戲社群中扮演著重要角色。在其幫助下開發的遊戲的顯著示例包括Civilization IV(使用Python進行邏輯和伺服器控制元件),Eve Online(使用Stackless Python)和《坦克世界》(使用Python進行內部邏輯和指令碼編寫)。最後,Snakeworlds – 3D蛇遊戲,將著名的經典遊戲放到球體/地球儀上。它完全用Python-Ogre編寫。

為什麼要學習Python

簡介:

  • 在開始之前,我們首先來看一個重要的但經常被誤解的區別:編碼不是程式設計。大多數人可以互換使用這些術語,坦率地說,這樣做很方便。但是,解釋它們背後的概念可以幫助初學者對程式設計產生更有益的態度。
  • 因此,簡單地說,編碼和程式設計之間的區別與為小說提出故事並將其寫在書中的區別相同。讓我們詳細說明。如果您想寫小說,問自己如何用英語寫小說不是第一步。您的重點應該放在建立具有所有要素的故事上。只有這樣,您才能以所需的任何語言將其整齊地寫出來。
  • 同樣的原理也適用於程式設計-這是一個分為兩個階段的過程。
    ①首先,您面臨一個問題(假設您必須找到城市之間的最短路徑)。
    ②然後,您必須想出一些步驟,才能在這些城市的每個初始圖形配置中為您提供正確的答案(我們將此稱為演算法)。這是程式設計中最重要的階段,並且(主要)獨立於所使用的語言。但是一旦遇到問題,您就可以開始通過程式語言將指令傳達給計算機。那就是編碼階段。僅僅學習一種特定語言的程式碼還不足以成為一名優秀的程式設計師。第一次學習程式設計時,您應該專注於解決問題的技術,而不是語言本身。
  • 話雖如此,不同的語言肯定會加速或減慢學習過程。我們認為Python是適合初學者進行程式設計的最佳語言之一。讓我們看看原因:
    ①Python是一種開源語言,這意味著它是免費使用的,每個人都可以為其程式碼和庫的編寫和維護做出貢獻。確實,很多人,甚至公司,都花了很多時間和精力來擴充套件和完善Python。這是使該語言對社群如此吸引人的重要原因。
    ②此外,Python是一種高階通用語言。高階意味著它遠離0和1,因此更接近人類語言。因此,您不必擔心記憶體管理和刪除物件(以及其他問題)。這樣,您就可以完全專注於解決程式設計問題。這使Python成為從未學習過程式設計的人們的理想之選,因為它可以極大地改善他們的學習經驗。
    ③最後,通用性表明Python非常通用。如上所述,我們可以將其用於Web和軟體開發以及網路程式設計。最重要的是,尤其是資料科學和機器學習在其日益找到應用的領域。因此,Facebook,Quora,Twitter,Spotify和Netflix等主要公司大量使用Python不足為奇。現在,儘管這些網站和平臺不是用 Python 編寫的,但許多支援過程,尤其是與分析有關的過程,都是用它來執行的。
    ④總體而言,Python在開發人員中的穩步增長。它確實受到了社群的歡迎,無論是前端還是後端使用者。憑藉其廣泛的功能,使用它的不僅是主要的公司。整個行業中,IT行業正在整合Python來開發各種產品。

Python與其他語言

優點:

  • 易於學習 -關鍵字少,結構簡單,語法清晰。這使學生可以快速掌握語言。
  • 易於閱讀 –由於廣泛使用空格,因此可以更清晰地定義Python程式碼。
  • 生產力 – Python程式碼可以更快地編寫。
  • 互動模式 –支援允許互動測試和除錯程式碼段的互動模式。
  • 廣泛的標準庫 – Python以“包含電池”語言而聞名。有300多個標準庫模組,其中包含用於各種程式設計任務的類。
  • 跨平臺 – Python在Windows,Linux,Mac OSX等不同的OS平臺上同樣能很好地工作。因此,它的應用程式可以輕鬆地跨OS平臺移植。
  • 可擴充套件 –您可以將低階模組新增到Python直譯器。這些模組使程式設計師能夠新增或自定義其工具,從而提高效率。
  • 可嵌入-Python也可嵌入。您可以將程式碼放入其他語言的原始碼中,例如C ++。
  • 支援庫的廣泛集合 –有許多用於Python的庫,這些庫為語言增加了很多功能。

缺點:

  • 速度限制 –Python被解釋,導致程式碼執行緩慢。但是,這不是問題,除非速度是專案的重點。換句話說,除非需要高速,否則Python提供的好處足以超過其侷限性。
  • 移動技術薄弱-儘管它已經出現在許多桌上型電腦和伺服器平臺上,但它被認為是移動計算的一種較弱的語言。這就是為什麼很少的移動應用程式使用它的原因。
  • 難以使用其他語言-Python支持者已經非常習慣於其功能和豐富的庫,以至於在學習或使用其他程式語言時會遇到問題。通常,Python專家可能會看到變數型別的宣告以及新增花括號或分號作為一項繁重的任務的語法要求。

靜態和動態打字:

  • 在解釋Py​​thon的特性時,我們不能忘記提到它是一種動態型別的語言。簡而言之,Python中的變數沒有預定義的型別(例如整數或字串)。而是在程式執行時動態確定變數的型別。例如,如果在某一時刻我們將值10分配給變數

  • A,Python會自動確定此變數的型別為int(整數)。如果稍後將其更新為10.0,則它將為浮點數(實數)。

  • 相反,在像C ++這樣的靜態型別語言中,變數的型別寫在程式碼本身中。因此,如果要使用A作為整數,請輸入“ int A”。現在,我們只能為A分配整數值。如果嘗試為A分配非整數值,程式將返回錯誤。

  • 當然,這兩個概念都有其優點和缺點。對於初學者來說,動態型別化的語言更容易掌握。但是,由於沒有人知道執行時之前的變數型別,因此可能會遇到難以跟蹤的意外錯誤。

Python難學嗎

簡介:

  • 學習Python多長時間?
    ①對於一個完整的新手來說,學習如何很好地使用Python進行程式設計大約需要3個月的相對一致的學習。
  • 但是,如果您打算將Python用於資料科學(即資料分析或機器學習),則時間軸實際上會更短。由於資料科學需要非常特定的語言使用方法,因此需要花一個月到兩個月的時間才能理解基礎知識。完全披露資訊是基於我們的學生完成我們自己的資料科學培訓的速度。在365資料科學計劃大約需要200個小時才能完成。除其他主題外,它還包括數學,統計學和Python的基礎知識。它還介紹了更高階的主題,例如使用sklearn,numpy和pandas進行機器學習,並使用用於神經網路的TensorFlow庫涵蓋了深度學習。因此,如果您真正致力於並每天花五個小時學習,那麼大約需要一個月的時間來學習Python資料科學分析的主要原理。

工作前景

您可以採用Python的哪些職業道路?

  • Python開發人員
    ①對於精通Python的人來說,最明顯的選擇。Python開發人員將其用於各種任務,從構建網站和優化資料演算法到查詢資料分析解決方案以及執行安全性和資料保護。更不用說這種程式語言非常適合編寫可測試,可重用和令人難以置信的高效程式碼。
  • 機器學習工程師
    ①Python的專業知識是機器學習工程師的關鍵要求之一。機器學習涉及連續的資料處理,Python強大的庫生態系統無疑是應對挑戰的基礎。難怪機器學習工程師會首選Python庫來訪問和轉換資料,以及處理諸如聚類,迴歸和分類之類的基本ML演算法。
  • 資料科學家
    ①Python是動手進行統計建模的首選語言。大約68%的資料科學家表示這是他們最喜歡的程式語言(去年為44%)。而且,如果您到目前為止一直在關注,那麼在機器學習方面,Python也是必不可少的。
  • 資料分析師
    ①Python是處理大量資料,清理它並處理它以進行分析的最好的語言之一,而這正是資料分析師所做的很多事情。與其他更復雜的工具相比,Python可以幫助他們更快地完成所有工作。資料分析師還使用Python及其軟體包將其資料分析任務與Web應用程式整合在一起,或將統計程式碼合併到生產資料庫中。
  • BI分析師(Business Intelligence即商務智慧)
    ①對於BI分析師而言,Python 不是絕對必須的。但是,在商業智慧領域,它變得越來越受歡迎。BI分析師是核心的多工處理者。這樣,他們可以將Python用於各種商業智慧任務。他們可以通過將其匯入資料庫程式,對其進行清理和標準化來使用它來準備資料。此外,BI分析師可以通過從查詢建立Pandas DataFrame,製作資料質量報告,生成摘要統計資訊以及建立圖表來探索資料。最後,Python可以協助BI分析師進行資料分析和分析,因此他們可以視覺化並報告其見解,以制定明智的業務決策。
  • 資料工程師
    ①Python的豐富庫可幫助資料工程師訪問資料庫和儲存技術。此外,資料工程師使用它來編碼ETL框架以及API互動和自動化。總體而言,Python是功能強大且用途廣泛的工具,可讓資料工程師快速,高效地解決問題。
  • 資料架構師
    資料架構師開發高階Python(自動化)指令碼,以分析,清理和轉換大型資料集,並準備將其用於商業智慧,分析和財務建模功能。
    ②什麼是自動化指令碼:用它可以完成很高效的自動化操作,好比可以進行自動化測試工作自動化運維等等

相關文章