1. 程式人生 > >Python基礎:四、python的優缺點

Python基礎:四、python的優缺點

oba 管理 原生 下載 比較 因此 解釋型 全局 一個

python是一門動態解釋性的強類型語言

python的優點:

1. python的定位是"優雅"、"明確"、"簡單"

python程序看上去總是簡單易懂,初學者學python,不但入門容易,二缺將來深入下去,可以邊啊些那些非常復雜的程序。

2. 開發效率高

python有強大的第三方庫,基本上你想通過計算機實現任何功能,python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發周期,避免重復造輪子。

3. 高級語言

當你用python語言編寫程序的時候,你無需開了諸如如何管理程序使用的內存一類細節。

4. 可移植性

由於python的開源本質,python以及高被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麽你的所有的python程序無需修改就可以在市場上所有的系統平臺上運行。

5. 可擴展性

如果你需要你的一段關鍵代碼運行的得更快,或者希望某些算法不公開,你可以把你的部分程序用c或c++編寫,然後在你的python程序中使用它們。

6. 可嵌入性

你可以把python嵌入你的c\c++程序,從而向你的程序用戶提供腳本功能。

python的缺點:

1. 速度慢

python的運行速度相比於c語言確實慢了很多,跟Java比也要慢寫,因此這也是很多人不屑於使用python的原因,但其實這裏所指的運行速度在大多數情況下用戶是無法直接感受到的,必須借助測試工具才能體現出來,比如你用c運行一個程序花了0.01秒,用python是0.1秒,這樣c語言比python快了10倍,算是很誇張了,但是你是無法用肉眼直接感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右。其實在大多數情況下,python已經完全滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎(這種情況下還是應該用c去實現)。

2. 代碼不能加密

因為python是解釋型語言,它的源代碼都是以明文的形式存放的。如果你的項目要求源代碼必須是加密的,一開始就不應該用python實現

3.線程不能利用多CPU問題

這是python被人詬病最多的一個缺點,GIL即全局解釋器(GlobalInterpreterLock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行。python的線程是操作系統的原生線程,在Linux上為pthread,在Windows上為Winthread,完全由操作系統調度線程執行。一個python解釋器進程內有一條主線程,以及多條用戶程序執行的線程,即使在多核CPU平臺上,由於GIL的存在,所以禁止多線程的並行執行(有折中方法)。

當然,python還有一些其他的小缺點,這這就不一一列舉了。任何一門語言都不是完美的,都有擅長和不擅長做的事情,建議不要用一個語言的劣勢和另一個語言的優勢去比較

語言只是一種工具,是實現程序設計師思想的工具,就像我們之前中學學集合時,優點時候需要圓規,有的時候需要用三角尺一樣,拿相應的工具去做它最擅長的工作才是最正確的選擇。

Python基礎:四、python的優缺點