1. 程式人生 > >(一)python的前世今生

(一)python的前世今生

它的 金山 盛大 page 改變 ima src tex line

一:Python介紹

python的創始人為吉多·範羅蘇姆(Guido van Rossum)(目前還活著),誕生於1989年,是一個腳本解釋程序,由於python語言結構優美,清晰簡單,隨著人工智能的興起,越來越被廣泛使用。

Python目前應用領域有:

1、雲計算

2、web開發(Python開發的網站例如,Youtube, Dropbox, 豆瓣........... 典型WEB框架有Django)

3、人工智能,科學運算大數據分析(如機器人領域、美團配送路線的數據分析........)

4、自動化運維(可以寫自動化工具,運維攻城獅必備良藥!)

5、金融領域數據分析

(國內python最早使用的就是做金融數據分析,原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測)

6、圖形GUI(python支持圖形界面的第三方庫,例如wxWidgets、QT、GTK)

Pythony應用的一些公司:

1、谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發

2、YouTube視頻網站

3、Dropbox,美國的雲存儲網站

4、Redhat: Linux發行版中的yum管理工具就是用python開發的

5、豆瓣

6、還有搜狐、金山、騰訊、盛大、網易、百度、阿裏、淘寶 、土豆、新浪等一些遊戲和應用

當然啦!還有很多可以參考https://www.zhihu.com/question/19555512 https://www.python.org/about/success/

二:Python語言的特點

編程語言主要分:

編譯型和解釋型、靜態語言和動態語言、強類型定義和弱類型定義。

那麽問題來了?編譯型和解釋型的區別

編譯型:編譯時把每一條語句都編譯成機器語言也就是二進制文件,計算機在運行的時候直接執行編譯後的二進制文件,所以運算很快

例如:C、C++、go、Object-C、Pascal

解釋型:在python中,我們寫好代碼後,解釋器會執行兩個動作

例如:Python、Ruby、PHP、

1、把原始代碼編譯成字節碼

2、把編譯好的字節碼轉發到Python虛擬機(PVM)中進行執行

一張圖秒懂

技術分享圖片

混合型的語言有JAVA、C#

動態語言VS靜態語言

1、動態語言只有在運行的時候下去檢查數據類型,不需要單獨聲明數據類型。例如a=1直接把整數1賦值給變量a

2、靜態語言在編譯過程中就要檢查數據類型,在寫代碼的時候就要聲明屬性類型。例如 int a 聲明變量a為整型

強類型定義VS弱類型定義

1、強類型指一個數據類型如果你不經過特殊轉換,那麽他不可能去改變,例如a=1,他就是一個整型

2、弱類型與之相反,一個變量可以賦予不同類型的數據

Python是一種解釋型動態的強類型語言

Python的優缺點

優點

1、語言明確、簡單、清晰,入門快

2、第三方庫強大,開發效率高,不需要掌握特別多的底層細節

3、可移植性,幾乎適用於所有的平臺上運行

4、擴展性、嵌入性,可以在別的語言中植入Python代碼

缺點:

1、相比編譯型語言,在運行速度上慢一些

2、代碼不能加密,由於是解釋型的,都是以源文件加文件名存在的

3、線程不能利用CPU問題

三:Python解釋器

CPython

當我們從Python官方網站下載並安裝好Python 2.7後,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。

IPython

IPython是基於CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

PyPy

PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(註意不是解釋),所以可以顯著提高Python代碼的執行速度。

絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要了解PyPy和CPython的不同點。

Jython

Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。

IronPython

IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。

----------------------------------------------------------------------------------------- END -------------------------------------------------------------------------------------------

(一)python的前世今生