編譯型語言:是指代碼寫好之後,須要使用專門的編譯器進行編譯,一次性將代碼轉換成特定的系統平臺(操做系統)能夠識別並運行的機器語言(機器碼)。python
優勢:編譯器通常會有預編譯的過程對代碼進行優化。在運行代碼以前,對其編譯只作一次,生成一個系統可直接運行的機器碼文件,運行時不須要再次編譯,因此編譯型語言的程序執行效率高,能夠脫離語言環境獨立運行。linux
缺點:編譯以後若是須要修改,就須要整個模塊從新編譯,編譯的時候根據對應的運行環境(操做系統)生成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執行文件。c++
好比c, c++, Go, Swift, Object-C, Pascal...算法
解釋型語言:是指代碼寫好之後,須要使用該語言的解釋器將代碼轉換成一種易於執行的中間代碼(字節碼),而後再將字節碼轉換成特定的系統平臺可識別的機器碼,能夠這樣理解:每次執行解釋型語言的程序都須要進行一次編譯,才能夠放到特定的系統中去運行。編程
優勢:有良好的平臺兼容性,在任何環境中均可以運行,前提是安裝了對應平臺的解釋器,具備靈活性,修改代碼的時候直接修改源代碼,而後作一下轉換工做就能夠,能夠快速部署,不用停機維護。windows
好比JavaScript, Python, Ruby, PHP, Perl, Eriang...瀏覽器
python創始人是Guido van Rossum(吉多.範羅蘇姆),於1989年開發,1991年公開發行;函數
python是一種解釋型、面向對象(也支持面向過程)、動態數據類型的高級程序設計腳本語言,語法簡潔清晰,採用縮進來定義語句塊,具有來及自動回收功能,可以自動管理內存空間使用,python虛擬機自己幾乎適用於全部系統,使用諸如py2exe、PyPy、Pyinstaller之類的工具可將源代碼轉換成脫離python解釋器執行的程序,這裏咱們主要參考的是CPython,是基於C語言開發的一種自由編程軟件。工具
Cpython性能
Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。
Jyhton
Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。
IronPython
Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)
Shed Skin
Python編譯器,可以將python代碼轉換成優化的C++代碼
PyPy(特殊)
Python實現的Python解釋器,將Python的字節碼字節碼再編譯成機器碼。
Python語言的動態編譯器,是Psyco的後繼項目
可運行在linux,MacOSX(32),Windows(32)平臺中
其餘
RubyPython、Brython ...
腳本:
自動執行常見的管理任務,如在系統中新增用戶,將文件上傳到網站,在不使用瀏覽器的狀況下下載網頁等。
網站開發:
做爲快速建立動態網站的工具,Django,Bottle,Zope等衆多Python項目深受開發人員的歡迎。
文本處理:
Python在字符串和文本文件處理方面提供了強大支持,包括正則和Unicode
科學計算:
Python科學計算庫,提供了用於統計,數學計算和繪圖的函數
簡單易學,入門容易。
高級語言,無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
可移植性,你的全部python程序無需修改就幾乎能夠在市場上全部的系統平臺上運行。
可擴展性,若是你須要你的一段關鍵代碼運行的更快或者但願某些算法不公開,你能夠把你的部分程序用c或c++編寫,而後在你的python程序中使用它們。
可嵌入性,你能夠把python嵌入你的c/c++程序,從而向你的程序用戶提供腳本功能。
1,交互式解釋器
直接啓用python自帶的解釋器,也就是一個命令行窗口,能夠直接執行python代碼,通常做爲調試代碼用,而且,執行完之後,難以再次運行
例如:
2,python程序文件
將python代碼保存到一個文件中,並以.py結尾,能夠方便屢次運行
例如:新建一個名字爲test的.py文件,內容以下:
#!/usr/bin/env python # -*- coding:utf-8 -*- import platform print platform.uname()
#第一行爲shebang,指定執行下面內容的解釋器 #第二行指定編碼格式,python2默認爲ascii #第三行經過import來導入一個python的模塊platform #第四行打印platform模塊的uname方法的執行結果
模塊:事先寫好的能夠被調用的函數集合的程序文件
windows系統運行方式:
打開命令提示符[dos],輸入python,進入python解釋器,直接輸入代碼,回車便可運行,如:
python的程序文件
可分解成模塊,語句,表達式和對象,它們的關係是:
程序由模塊構成,模塊包含語句,語句包含表達式,表達式創建並處理對象
例如:
1+1,是某件事,即表達式
print(1+1) 是作某件事,即語句
Python中單行註釋採用#開頭,多行註釋採用三個單引號(''' ... ''')或三個雙引號(""" ... """)引發來;
註釋也能夠用在行的結尾,用來表示註釋信息;
#!/usr/bin/env python # -*- coding:utf-8 -*- #FileName:hello.py #這是單行註釋 ''' 這是多行註釋 這是多行註釋 這是多行註釋 ''' """ 這是多行註釋 這是多行註釋 這是多行註釋 """
.pyc文件
執行python代碼時,若是導入了其餘的.py文件,那麼在其執行過程當中會自動生成一個同名的.pyc文件,該文件就是python解釋器編譯後產生的字節碼文件,代碼通過編譯能夠產生字節碼,字節碼經過反編譯也能夠獲得代碼。
行和縮進
python的代碼塊使用縮進來控制類、函數及其餘邏輯判斷的模塊,這也是python不一樣於其餘語言的地方。
如:
if Ture: print ("True") #前面以空格縮進: else: print ("False") #前面以空格縮進
注意:行首縮進的空格數量是可變的,但必須保證全部的代碼塊語句,縮進的空格數是一致的,建議在每一個縮進層次使用單個製表符或兩個空格或四個空格,切記不能混用。