歡迎您光臨本站 註冊首頁

Python的歷史與優缺點整理

←手機掃碼閱讀     madbeef @ 2020-05-30 , reply:0

Python的歷史

1989年聖誕節:Guido von Rossum開始寫Python語言的編譯器。1991年2月:第一個Python編譯器(同時也是解釋器)誕生,它是用C語言實現的(後面又出現了Java和C#實現的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他實現),可以調用C語言的庫函數。在最早的版本中,Python已經提供了對“類”,“函數”,“異常處理”等構造塊的支持,同時提供了“列表”和“字典”等核心數據類型,同時支持以模塊為基礎的拓展系統。1994年1月:Python 1.0正式發佈。2000年10月16日:Python 2.0發佈,增加了實現完整的垃圾回收,提供了對Unicode的支持。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢形成。2008年12月3日:Python 3.0發佈,它並不完全兼容之前的Python代碼,不過因為目前還有不少公司在項目和運維中使用Python 2.x版本,所以Python 3.x的很多新特性後來也被移植到Python 2.6/2.7版本中。

目前我們使用的Python 3.7.x的版本是在2018年發佈的,Python的版本號分為三段,形如A.B.C。其中A表示大版本號,一般當整體重寫,或出現不向後兼容的改變時,增加A;B表示功能更新,出現新功能時增加B;C表示小的改動(如修復了某個Bug),只要有修改就增加C。如果對Python的歷史感興趣,可以查看一篇名為《Python簡史》的博文。

Python的優缺點

Python的優點很多,簡單的可以總結為以下幾點。

簡單和明確,做一件事只有一種方法。學習曲線低,跟其他很多語言相比,Python更容易上手。開放源代碼,擁有強大的社區和生態圈。解釋型語言,天生具有平臺可移植性。支持兩種主流的編程範式(面向對象編程和函數式編程)都提供了支持。可擴展性和可嵌入性,可以調用C/C++代碼,也可以在C/C++中調用Python。代碼規範程度高,可讀性強,適合有代碼潔癖和強迫症的人群。

Python的缺點主要集中在以下幾點。

執行效率稍低,因此計算密集型任務可以由C/C++編寫。代碼無法加密,但是現在的公司很多都不是賣軟件而是賣服務,這個問題會被淡化。在開發時可以選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。

Python的應用領域

目前Python在雲基礎設施、DevOps、網絡爬蟲開發、數據分析挖掘、機器學習等領域都有著廣泛的應用,因此也產生了Web後端開發、數據接口開發、自動化運維、自動化測試、科學計算和可視化、數據分析、量化交易、機器人開發、圖像識別和處理等一系列的職位。

知識點補充:

python語言的優點

1、作為初學python的科班出身的小白,python非常簡單,非常適合人類閱讀。閱讀一個良好的Python程序就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!Python的這種偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。

2、易學。python雖然是用c語言寫的,但是它擯棄了c中非常複雜的指針,簡化了python的語法。

3、Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟件中。Python希望看到一個更加優秀的人創造並經常改進。

4、可移植性――――由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程序無需修改就可以在下述任何平臺上面運行。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基於linux開發的Android平臺!

5、在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。事實上,由於你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由於你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易於移植。

6、Python既支持面向過程的函數編程也支持面向對象的抽象編程。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在面向對象的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。

7、 可擴展性和可嵌入性。如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然後在你的Python程序中使用它們。你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

8、豐富的庫。Python標準庫確實很龐大。python有可定義的第三方庫可以使用。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。

9、 Python確實是一種十分精彩又強大的語言。它合理地結合了高性能與使得編寫程序簡單有趣的特色。

10、規範的代碼。Python採用強制縮進的方式使得代碼具有極佳的可讀性。

python語言的缺點

很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序寫入一個.py文件。(對很多用戶而言這也不算是限制)

1、運行速度,有速度要求的話,用C++改寫關鍵部分吧。不過對於用戶而言,機器上運行速度是可以忽略的。因為用戶根本感覺不出來這種速度的差異。

2、既是優點也是缺點,python的開源性是的Python語言不能加密,但是目前國內市場純粹靠編寫軟件賣給客戶的越來越少,網站和移動應用不需要給客戶源代碼,所以這個問題就是問題了。國隨著時間的推移,很多國內軟件公司,尤其是遊戲公司,也開始規模使用他。

3、構架選擇太多(沒有像C#這樣的官方.net構架,也沒有像ruby由於歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。


[madbeef ] Python的歷史與優缺點整理已經有247次圍觀

http://coctec.com/docs/python/shhow-post-236279.html