欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python的歷史與優(yōu)缺點(diǎn)整理

 更新時間:2020年05月26日 15:32:08   作者:小P  
在本篇文章里小編給大家分享的是關(guān)于Python優(yōu)缺點(diǎn)及基礎(chǔ)知識點(diǎn)整理內(nèi)容,有需要的朋友們可以參考下。

Python的歷史

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

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

Python的優(yōu)缺點(diǎn)

Python的優(yōu)點(diǎn)很多,簡單的可以總結(jié)為以下幾點(diǎn)。

簡單和明確,做一件事只有一種方法。學(xué)習(xí)曲線低,跟其他很多語言相比,Python更容易上手。開放源代碼,擁有強(qiáng)大的社區(qū)和生態(tài)圈。解釋型語言,天生具有平臺可移植性。支持兩種主流的編程范式(面向?qū)ο缶幊毯秃瘮?shù)式編程)都提供了支持??蓴U(kuò)展性和可嵌入性,可以調(diào)用C/C++代碼,也可以在C/C++中調(diào)用Python。代碼規(guī)范程度高,可讀性強(qiáng),適合有代碼潔癖和強(qiáng)迫癥的人群。

Python的缺點(diǎn)主要集中在以下幾點(diǎn)。

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

Python的應(yīng)用領(lǐng)域

目前Python在云基礎(chǔ)設(shè)施、DevOps、網(wǎng)絡(luò)爬蟲開發(fā)、數(shù)據(jù)分析挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域都有著廣泛的應(yīng)用,因此也產(chǎn)生了Web后端開發(fā)、數(shù)據(jù)接口開發(fā)、自動化運(yùn)維、自動化測試、科學(xué)計算和可視化、數(shù)據(jù)分析、量化交易、機(jī)器人開發(fā)、圖像識別和處理等一系列的職位。

知識點(diǎn)補(bǔ)充:

python語言的優(yōu)點(diǎn)

1、作為初學(xué)python的科班出身的小白,python非常簡單,非常適合人類閱讀。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴(yán)格!Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。

2、易學(xué)。python雖然是用c語言寫的,但是它擯棄了c中非常復(fù)雜的指針,簡化了python的語法。

3、Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。Python希望看到一個更加優(yōu)秀的人創(chuàng)造并經(jīng)常改進(jìn)。

4、可移植性————由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就可以在下述任何平臺上面運(yùn)行。這些平臺包括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開發(fā)的Android平臺!

5、在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運(yùn)行。事實(shí)上,由于你不再需要擔(dān)心如何編譯程序,如何確保連接轉(zhuǎn)載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機(jī)上,它就可以工作了,這也使得你的Python程序更加易于移植。

6、Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊?。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強(qiáng)大又簡單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>

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

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

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

10、規(guī)范的代碼。Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有極佳的可讀性。

python語言的缺點(diǎn)

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

1、運(yùn)行速度,有速度要求的話,用C++改寫關(guān)鍵部分吧。不過對于用戶而言,機(jī)器上運(yùn)行速度是可以忽略的。因?yàn)橛脩舾靖杏X不出來這種速度的差異。

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

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

相關(guān)文章

  • Python中l(wèi)ist循環(huán)遍歷刪除數(shù)據(jù)的正確方法

    Python中l(wèi)ist循環(huán)遍歷刪除數(shù)據(jù)的正確方法

    這篇文章主要給大家介紹了關(guān)于Python中l(wèi)ist循環(huán)遍歷刪除數(shù)據(jù)的正確方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java與Python兩大幸存者誰更勝一籌呢

    Java與Python兩大幸存者誰更勝一籌呢

    Python起源于一種腳本語言,它的語法體現(xiàn)了一種可讀性的理念,具有簡單而規(guī)則的界限,鼓勵簡潔和一致的代碼布局,而Java是一種面向?qū)ο笳Z言,其吸引力和價值所在是其具有的可移植性和相對效率。下面通過本文了解下java python 誰更勝一籌
    2018-04-04
  • Python中列表的常用操作詳解

    Python中列表的常用操作詳解

    這篇文章主要為大家詳細(xì)介紹了python字典的常用操作方法,主要內(nèi)容包含Python中列表(List)的詳解操作方法,包含創(chuàng)建、訪問、更新、刪除、其它操作等,需要的朋友可以參考下
    2021-09-09
  • Django Serializer HiddenField隱藏字段實(shí)例

    Django Serializer HiddenField隱藏字段實(shí)例

    這篇文章主要介紹了Django Serializer HiddenField隱藏字段實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Tensorflow中TFRecord生成與讀取的實(shí)現(xiàn)

    Tensorflow中TFRecord生成與讀取的實(shí)現(xiàn)

    TFRecord格式的文件存儲形式會很合理的幫我們存儲數(shù)據(jù),本文主要介紹了Tensorflow中TFRecord生成與讀取的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • python基于C/S模式實(shí)現(xiàn)聊天室功能

    python基于C/S模式實(shí)現(xiàn)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了python基于C/S模式實(shí)現(xiàn)聊天室功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 基于python的socket實(shí)現(xiàn)單機(jī)五子棋到雙人對戰(zhàn)

    基于python的socket實(shí)現(xiàn)單機(jī)五子棋到雙人對戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了基于python的socket實(shí)現(xiàn)單機(jī)五子棋到雙人對戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼

    Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼

    這篇文章主要介紹了Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python和pywin32實(shí)現(xiàn)窗口查找、遍歷和點(diǎn)擊的示例代碼

    python和pywin32實(shí)現(xiàn)窗口查找、遍歷和點(diǎn)擊的示例代碼

    這篇文章主要介紹了python和pywin32實(shí)現(xiàn)窗口查找、遍歷和點(diǎn)擊的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python筆記(1) 關(guān)于我們應(yīng)不應(yīng)該繼續(xù)學(xué)習(xí)python

    python筆記(1) 關(guān)于我們應(yīng)不應(yīng)該繼續(xù)學(xué)習(xí)python

    關(guān)于Python,如果你要學(xué)習(xí),建議大家查看一下網(wǎng)站:因?yàn)楸救艘彩莿倓倹Q定收集點(diǎn)零碎時間來學(xué)習(xí)下它,推薦可能并不是最好的
    2012-10-10

最新評論