1. 程式人生 > 其它 >pyfhon的優缺點

pyfhon的優缺點

  • 簡單 -- Python 是一種代表簡單主義思想的語言。閱讀一個良好的 Python 程式就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!Python 的這種虛擬碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。
  • 易學 -- 就如同你即將看到的一樣,Python 極其容易上手。前面已經提到了,Python 有極其簡單的語法。
  • 免費、開源 -- Python 是 FLOSS(自由/開放原始碼軟體)之一。簡單地說,你可以自由地釋出這個軟體的拷貝、閱讀它的原始碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS 是基於一個團體分享知識的概念。這是為什麼 Python 如此優秀的原因之一——它是由一群希望看到一個更加優秀的 Python 的人創造並經常改進著的。
  • 高層語言 -- 當你用 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 平臺!
  • 解釋性 -- 這一點需要一些解釋。一個用編譯性語言比如 C 或 C++ 寫的程式可以從原始檔(即 C 或 C++ 語言)轉換到一個你的計算機使用的語言(二進位制程式碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你執行你的程式的時候,連線/轉載器軟體把你的程式從硬碟複製到記憶體中並且執行。而 Python 語言寫的程式不需要編譯成二進位制程式碼。你可以直接從原始碼執行程式。在計算機內部,Python 直譯器把原始碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並執行。事實上,由於你不再需要擔心如何編譯程式,如何確保連線轉載正確的庫等等,所有這一切使得使用 Python 更加簡單。由於你只需要把你的 Python 程式拷貝到另外一臺計算機上,它就可以工作了,這也使得你的 Python 程式更加易於移植。
  • 面向物件 -- Python 既支援面向過程的程式設計也支援面向物件的程式設計。在“面向過程”的語言中,程式是由過程或僅僅是可重用程式碼的函式構建起來的。在“面向物件”的語言中,程式是由資料和功能組合而成的物件構建起來的。與其他主要的語言如 C++ 和 Java 相比,Python 以一種非常強大又簡單的方式實現面向物件程式設計。
  • 可擴充套件性 -- 如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用 C 或 C++ 編寫,然後在你的 Python 程式中使用它們。
  • 豐富的庫 -- Python 標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表示式、文件生成、單元測試、執行緒、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV 檔案、密碼系統、GUI(圖形使用者介面)、Tk 和其他與系統有關的操作。記住,只要安裝了 Python,所有這些功能都是可用的。這被稱作 Python 的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如 wxPython、Twisted 和 Python 影象庫等等。
  • 規範的程式碼 -- Python 採用強制縮排的方式使得程式碼具有極佳的可讀性。

缺點

  • 執行速度,有速度要求的話,用 C++ 改寫關鍵部分吧。
  • 國內市場較小(國內以 Python 來做主要開發的,目前只有一些 web2.0 公司)。但時間推移,目前很多國內軟體公司,尤其是遊戲公司,也開始規模使用他。
  • 中文資料匱乏(好的 Python 中文資料屈指可數,現在應該變多了)。託社群的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高階內容還是隻能看英語版。
  • 構架選擇太多(沒有像 C# 這樣的官方 .net 構架,也沒有像 ruby 由於歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程式天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,專案也多。