1. 程式人生 > >python語言的優點和缺點

python語言的優點和缺點

python語言的優點

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

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

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

  ⑷可移植性————由於它的開源本質,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平臺!

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

   ⑹Python既支援面向過程的函式程式設計也支援面向物件的抽象程式設計。在面向過程的語言中,程式是由過程或僅僅是可重用程式碼的函式構建起來的。在面向物件的語言中,程式是由資料和功能組合而成的物件構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向物件程式設計。

   ⑺ 可擴充套件性和可嵌入性。如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。你可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。

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

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

   ⑽規範的程式碼。Python採用強制縮排的方式使得程式碼具有極佳的可讀性。

python語言的缺點

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

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

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

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