10天搞定Python,告訴你有什麼用?

掌握多一門編程語言,多一種選擇,多一份機遇,更何況學的是人見人愛,花見花開的Python語言。它目前可佔據編程語言排行榜的第3名,是名副其實的“探花郎”,無論用它做什麼(網絡爬蟲、人工智能、Web應用等) ,咱都不虧,開篇有益。

有趣的話,多說兩句,”無趣”的就總結概述。本章總結概述一下Python的發展歷史和特點,詳細介紹Python的運行和開發環境。

很多程序員,都不太喜歡瞭解編程語言的來源和發展歷史,覺得那個讀起來索然無味,廢話多多,但我還是建議你抽點時間看看,Python的來源確實有點意思。

1.1 Python來源 1989年的聖誕節,一位來自荷蘭,名叫Guidio van Rossum的年輕帥小夥子,爲了打發無趣的時光,決定改善他參與設計,不是很滿意的ABC語言,隨着研究的深入和功能的完善,其特性超越了ABC。在給這個新的腳本語言命名時,他想起了喜愛的Monty Pythoh喜劇團體,於是取名爲:Python。

通過這個故事,終於知道咱們爲什麼發明不了一門編程語言了,對,那是因爲我們無論在什麼節假日,都沒有無聊過,而且還豐富多彩。

歷經兩年後,也就是在1991年2月份時,Python終於面向大衆,發佈了第一個公開版本,其版本號爲0.9.0。它使用C語言開發實現,支持類、函數、異常處理,還有列表、字典等數據結構。

隨着更多程序員的加入,Python快馬加鞭,在1994 年1月份發佈了 Python 1.0;在2000年發佈了Python 2.0;在2008 年 12 月時, 正式發佈了Python 3.0,它也被稱爲 "Python 3000" 或 "Py3K。

隨着這幾年 Python 3 的使用率急劇上升,作爲新手建議直接從 Python 3 學起。沒必從Python2入手,畢竟Python3和Python2是不兼容的,還有Python官方公佈,會在 2020 年 1 月 1 日起,停止對 Python 2 的更新和官方支持。

到這,你可能會問:Python怎麼會獲得那麼多程序員的喜歡,它究竟有何特點?

1.2 有何特點 特點挺多的,咱只講幾處重點的。

(1) 簡單易學

Python的語法就像在讀英語一樣,簡單明瞭,一目瞭然,沒有多餘的邊邊角角,讓你能夠更專注於解決業務問題,而無須花費時間去研究語言本身。

它是面向對象的高級語言,具有封裝、繼承、多態等特點,也就意味着你不用考慮如何管理程序內存使用等諸類底層細節。

(2) 免費開源

Python 是 FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發佈這個軟件的拷貝、閱讀它的源代碼、甚至對它做任何改動,都不用花一分錢。

無論你是出於學習,還是開發商業軟件,都不用擔心授權問題。商業軟件必然把客戶綁定在產權上,無法自拔,而開源軟件則可以讓商業客戶從這種折磨中解放出來。

(3) 跨平臺

如果在某操作系統下開發的軟件,也可在其他系統上運行,那是多麼幸福的一件事呀,而Python就可以滿足。

如果你不使用依賴於系統特性的代碼,那麼你的Python 程序無需任何修改就可以運行在Linux、Windows、FreeBSD、macOS、Solaris、OS/2、Amiga、AROS、BeOS、Palm OS、VxWorks、PlayStation等平臺上。

(4) 豐富的庫

Python擁有衆多標準庫和第3方庫,你想要的各種領域的庫幾乎都能找得到,那意味着你可以不用重複發明輪子,從而提高工作效率,加快開發進度。

它有正則表達式、文檔生成、單元測試、線程、數據庫等標準庫。也有網頁瀏覽器、FTP、電子郵件、XML、密碼系統、GUI(圖形用戶界面)、Tk 和其他與系統有關的操作。

還有許多其他高質量的第3方庫,如用於桌面系統開發的wxPython,用於科學計算或數值計算的Numpy和Matplotlib等等。

(5) 解釋性

Python是一門解釋性語言,這意味着它不需要在運行前編譯,在運行程序的時候才翻譯,專門的解釋器負責在每個語句執行的時候解釋程序代碼。

相對於編譯型語言(如C++或Delphi),Python運行效率會低一些,可好在它的開發效率高,以空間換時間。

隨着硬件的升級和設計思想的變革,編譯型和解釋型語言越來越籠統,而解釋型語言的自身特點也使得編譯器服務商願意花費更多的時間和成本去優化解釋器,解釋型語言性能超過編譯型語言是遲早問題。

1.3 應用領域 國外的Twitter、Google、Yahoo,Facebook,國內的豆瓣、果殼、春雨醫生、知乎(Quora) 等知名企業都在使用Python,我們來看看它可應用在哪些領域裏。

(1) 人工智能

各種人工智能算法、機器學習、神經網絡、深度學習等大多基於Python編寫,尤其在PyTorch推出後,更讓其站在了AI時代的前端。

PyTorch有許多優勢,如動態圖機制、網絡構建靈活以及擁有強大的社羣等。由於其靈活、動態的編程環境和用戶友好的界面,受到AI研究人員的推崇。

(2) 網絡爬蟲

在爬蟲領域,Python開源庫衆多,一搜一大把,而且還簡單易用。其中最爲突出的要數Scrapy框架。

Scrapy是一個爲了爬取網站數據,提取結構性數據而編寫的應用框架,只需要實現少量代碼,就能夠快速的抓取到數據內容並進行分析和統計。對於新手小白想更輕鬆的學好Python基礎,Python爬蟲,web開發、大數據,數據分析,人工智能等技術,這裏給大家分享系統教學資源,加下我V:itz992 【教程/工具/方法/解疑】

(3) Web應用

基於Python的Web開發框架比關鍵字還多,常見的有Django、Tornado、Flask、web.py、 Bottle等。

其中Django架構,應用範圍最廣,開發速度非常快,學習門檻也低,能夠幫助你快速的搭建起可用的Web應用程序。

(4) 桌面軟件

開發了那麼多年的程序,經常說跨平臺,跨平臺,只是真正跨過的應用有幾個?大多數Web應用,從一開始定下來平臺後,後期很少更改的。

桌面系統就不同了,從一開始就希望它可以運行在多個平臺上,提供給更多的人使用。Python在這方面也不含糊,提供了PyGTK、PySide、PyQT、WxPython等快速開發桌面統並可跨平臺的框架。

其中使用WxPython的企業最多,而它也是Python創始人,Guidio大哥的最愛。

(5) 遊戲開發

在網絡遊戲開發中,Python有很多應用,相比於C++或 Lua,Python有更高階的抽象能力,可以用更少的代碼描述遊戲業務邏輯。

它非常適合編寫1萬行以上的項目,而且能夠很好的把網遊項目的規模控制在10萬行代碼以內。

其中Pygame遊戲框架,封裝了圖形、動畫、文字、音頻等操作,方便使用,是衆多遊戲開發工程師的福音。

(6) 科學計算

在早期的時候,NASA和Google就大量使用Python進行各種複雜的科學運算,積累了豐富的科學運算庫。

隨着NumPy、SciPy、Matplotlib等衆多程序庫的開發,Python越來越適合做科學計算、繪製高質量的2D和3D圖像。

(7) 雲計算開發

如果瞭解過雲計算相關的技術,應該知道目前很火的雲計算框架OpenStack就是由Python開發的,如果使用它,就需要具備Python的相關技能。

幾乎每家雲計算服務商,都提供了Python應用的相關接口,使用它,可很快的進行集成開發。

(8) 金融分析

數據分析已經深入到各個行業中,尤其在金融領域的應用是最廣闊的。瞭解並掌握了Python金融數據分析,對於今後就業相當有吸引力。

Python中的Numpy、Pandas、Scipy等數據分析模塊,可以實現金融分析策略,如“雙均線”、“周規則交易”、“羊駝策略”等。對於新手小白想更輕鬆的學好Python基礎,Python爬蟲,web開發、大數據,數據分析,人工智能等技術,這裏給大家分享系統教學資源,加下我V:itz992 【教程/工具/方法/解疑】

一個當了10年技術總監的老傢伙,分享多年的編程經驗。想學編程的朋友,可關注。將分享Python數據挖掘,數據分析,人工智能,前端(小程序)和App方面的編程知識。關注我,沒錯的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章