python課程系列(一.1、python簡介)
文章目錄
Python簡介
Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向物件的指令碼語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
-
**Python 是一種解釋型語言:**這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
-
**Python 是互動式語言:**這意味著,您可以在一個Python提示符,直接互動執行寫你的程式。
-
**Python 是面嚮物件語言:**這意味著Python支援面向物件的風格或程式碼封裝在物件的程式設計技術。
-
**Python 是初學者的語言:**Python 對初級程式設計師而言,是一種偉大的語言,它支援廣泛的應用程式開發,從簡單的文書處理到 WWW 瀏覽器再到遊戲。
Python 發展歷史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷蘭國家數學和電腦科學研究所設計出來的。
Python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的指令碼語言等等。
像 Perl 語言一樣,Python 原始碼同樣遵循 GPL(GNU General Public License)協議。
現在 Python 是由一個核心開發團隊在維護,Guido van Rossum 仍然佔據著至關重要的作用,指導其進展。
Python 特點
-
**1.易於學習:**Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
-
**2.易於閱讀:**Python程式碼定義的更清晰。
-
**3.易於維護:**Python的成功在於它的原始碼是相當容易維護的。
-
**4.一個廣泛的標準庫:**Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。
-
**5.互動模式:**互動模式的支援,您可以從終端輸入執行程式碼並獲得結果的語言,互動的測試和除錯程式碼片斷。
-
**6.可移植:**基於其開放原始碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
-
**7.可擴充套件:**如果你需要一段執行很快的關鍵程式碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中呼叫。
-
**8.資料庫:**Python提供所有主要的商業資料庫的介面。
-
**9.GUI程式設計:**Python支援GUI可以建立和移植到許多系統呼叫。
-
**10.可嵌入:**你可以將Python嵌入到C/C++程式,讓你的程式的使用者獲得"指令碼化"的能力。
python介紹
python的創始人為吉多·範羅蘇姆(Guido van Rossum)
目前python主要應用領域:
·雲端計算
·WEB開發
·科學運算、人工智慧
·系統運維
·金融:量化交易,金融分析等,作為動態語言的python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛
·圖形GUI
python是一門什麼樣的語言?
python是一門動態解釋型的強型別定義語言
python的優缺點
優點:
-
python的定位是“優雅”“明確”“簡單”,所以python程式看上去總是簡單易懂
-
開發效率非常高,python有非常強大的第三方庫
-
高階語言
-
可移植性——如果你小心地避免使用依賴於系統的特性,那麼你的所有python程式無需修改就幾乎可以在市場上所有的系統平臺上執行
-
可擴充套件性——如果你需要你的一段關鍵程式碼執行的更快或者希望某些演算法不公開,你可以把你的部分程式用C或者C++寫,然後在你的python程式中使用它們
-
可嵌入性
缺點:
-
速度慢,大多情況下使用者是無法直接感知到的,比如C執行一個程式花了0.01秒,python是0.1秒,這樣C語言直接比python快了10倍,算是非常誇張了,但是無法直接通過肉眼感知到,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右。其實大多情況下python一句完全可以滿足對程式速度的要求
-
程式碼不能加密,因為python是解釋型語言,它的原始碼都是以明文形式存放的
-
執行緒不能利用多CPU問題,這是python被人詬病最多的一個缺點,GIL即全域性直譯器鎖(Global Interpreter Lock),是計算機程式設計語言直譯器用於同步執行緒的工具,使得任何時刻僅有一個執行緒在執行,python的執行緒是作業系統的原生執行緒。在linux上為pthread,在windows上為wthread,完全由作業系統排程執行緒的執行。一個python直譯器程序內有一條主執行緒,以及多條使用者程式的執行執行緒。即使在多核CPU平臺上,由於GIL的存在,所以禁止多執行緒的並行執行。
python直譯器
當我們編寫python程式碼時,我們得到的是一個包含python程式碼的以.py為副檔名的文字檔案。要允許程式碼,就需要python直譯器去執行.py檔案。
-
CPython:最廣泛使用的直譯器。教程中的所有程式碼都在CPython下執行。
-
IPython:基於CPython上的一個互動式直譯器
-
PyPy:它的目標是執行速度。採用JIT技術,對python程式碼進行動態編譯(注意不是解釋),所以可以顯著提高python程式碼的執行速度。
-
Jython:是執行在JAVA平臺上的python直譯器
-
IronPython:和Jython類似,是執行在微軟.net平臺上