目前Python主要應用領域 :java
·雲計算,典型應用OpenStack
·Web開發,典型Web框架Django
·科學運算、人工智能,典型庫NumPy,SciPy,Matplotlib,pandas
·系統運維
·金融,量化交易,⾦融分析,在金融⼯程領域,Python不但在用,且用的最多,⽽且重要性逐年提升。緣由:做爲動態語⾔言的Python,語⾔言結構清晰簡單,庫豐富, 成 熟穩定,科學計算和統計分析都很⽜牛逼,生產效率遠遠高於c,c++,java,尤爲擅⻓策略回測
·圖形GUIpython
Python是解釋型語言c++
編譯和解釋的區別是什麼?算法
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機能夠直接以機器語言來運行次程序,速度很快。
而解釋器則是隻在執行程序是,才一條一條的解釋成機器語言給計算機來執行,全部運行速度是不如編譯後的程序運行的快的。
這是由於計算機不能 直接認識並執行咱們寫的語句,他只能認識機器語言(是二進制的形式)多線程
編譯型 VS 解釋型框架
編譯型
優勢: 編譯器⼀通常會有預編譯的過程對代碼進行優化。由於編譯只作⼀次,運⾏時不須要編譯,因此編譯型語言的程序執行效率高。能夠脫離語⾔言環境獨立運行。
缺點: 編譯以後若是須要修改就須要整個模塊從新編譯。編譯的時候根據對應的運行環境⽣成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執⾏文件。運維
解釋型
優勢: 有良好的平臺兼容性,在任何環境中均可以運⾏,前提是安裝瞭解釋器(虛擬機)。 靈活,修改代碼的時候直接修改就能夠,能夠快速部署,不⽤停機維護。
缺點: 每次運行的時候都要解釋一遍,性能上不如編譯型語⾔。工具
python的優缺點性能
先看優勢
1. Python的定位是「優雅」、「明確」、「簡單」,因此Python程序看上去老是簡單易懂,初學者學Python,不但⼊⻔容易,並且未來深⼊下去,能夠編寫那些⾮常很是複雜的程序。
2. 開發效率很是高,Python有很是強⼤的第三⽅庫,基本上你想經過計算機實現任何功能,Python官方庫裏都有相應的模塊進行⽀持,直接下載調⽤後,在基礎庫的基礎上再進行開發,⼤大下降開發週期,避免重複造輪子。
3. ⾼級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
4. 可移植性————因爲它的開源本質,Python已經被移植在許多平臺上(通過改動 使它可以⼯做在不一樣平臺上)。若是你⼩心地避免使用依賴於系統的特性,那麼你的全部Python程序⽆需修改就幾乎能夠在市場上全部的系統平臺上運行
5. 可擴展性————若是你須要你的一段關鍵代碼運行得更快或者但願某些算法不公開,你能夠把你的部分程序⽤用C或C++編寫,而後在你的Python程序中使⽤用它們。
6. 可嵌⼊入性————你能夠把Python嵌⼊入你的C/C++程序,從而向你的程序⽤用戶提供腳本功能。
再看缺點:
1. 速度慢,Python 的運行速度相⽐C語⾔確實慢不少,跟JAVA相⽐也要慢一些,所以這也是不少所謂的大牛不屑於使⽤用Python的主要緣由,但其實這裏所指的運行速度 慢在大多數狀況下用戶是⽆法直接感知到的,必須藉助測試工具才能體現出來,⽐如 你⽤用C運⼀一個程序花了了0.01s,⽤用Python是0.1s,這樣C語直接比Python快了了10倍, 算是⾮常誇張了,可是你是⽆法直接經過⾁眼感知的,由於⼀個正常⼈人所能感知的時 間最⼩小單位是0.15-0.4s左右,哈哈。其實在大多數狀況下Python已經徹底能夠知足你對程序速度的要求,除⾮你要寫對速度要求極高的搜索引擎等,這種狀況下,固然仍是建議你用C去實現的。
2. 代碼不能加密,由於PYTHON是解釋性語言,它的源碼都是以名⽂形式存放的,不過我不認爲這算是⼀個缺點,若是你的項目要求源代碼必須是加密的,那你⼀開始就不該該用Python來去實現。
3. 線程不能利用多CPU問題,這是Python被⼈人詬病最多的⼀個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器⽤於同步線程的工具,使得任什麼時候刻僅有一個線程在執⾏,Python的線程是操做系統的原⽣線程。 在Linux上爲pthread,在Windows上爲Win thread,徹底由操做系統調度線程的執行。⼀個python解釋器進程內有一條主線程,以及多條⽤戶程序的執行線程。即便在多核CPU平臺上,因爲GIL的存在,因此禁⽌多線程的並行。
固然,python還有一些其餘小缺點。(只有最適合!)測試