1. 程式人生 > >Python基礎1-Python基礎概念

Python基礎1-Python基礎概念

itl web框架 強制轉換 計算機 win 概念 器) 程序設計 定義

本節內容

  1. Python是一門什麽樣的語言
  2. Python主要應用領域
  3. Python的有缺點

1.Python是一門什麽樣的語言

Python是解釋型語言

編譯型語言解釋:一次把所有的代碼轉換成機器語言,然後寫成可執行文件。

解釋型語言解釋:程序每執行到源程序的某一條指令,會有一個稱之為解釋程序的外殼程序(解釋器)將源代碼轉換成二進制代碼以供執行,總言之,就是不斷地解釋、執行、解釋、執行。

編譯型vs解釋型

編譯型
優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程序執行效率高可以脫離語言環境獨立運行
缺點:編譯之後如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編譯不同的可執行文件

解釋型
優點:有良好的平臺兼容性,安裝了解釋器(虛擬機)後在任何環境中都可以運行。靈活,修改代碼的時候直接修改就可以了,可以快速部署,不用停機維護。

缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言

Python是動態類型語言

動態類型語言:動態類型語言是指在運行期間才去做數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。

靜態類型語言:數據類型是在編譯期間檢查的,也就是說在寫程序時要聲明所有變量的數據類型

Python是強類型定義語言

強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那麽它就永遠是這個數據類型了。

弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。

2.Python主要應用領域:

  • 雲計算: 雲計算最火的語言, 典型應用OpenStack。
  • WEB開發: 眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣, 知乎等。典型WEB框架有Django, Flask。
  • 科學運算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas。
  • 系統運維: 運維人員必備語言。
  • 金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很適合用,生產效率遠遠高於c,c++,java,尤其擅長策略回測。
  • 圖形GUI: PyQT, WxPython,TkInter。

3.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相比也要慢一些,但其實這裏所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須借助測試工具才能體現出來。
  2. 代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,這不一定算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應該用Python來去實現。
  3. 線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平臺上,由於GIL的存在,所以禁止多線程的並行執行。

參考鏈接:http://www.cnblogs.com/alex3714/articles/5465198.html

Python基礎1-Python基礎概念