Python是著名的「龜叔」Guido van Rossum在1989年聖誕節期間,爲了打發無聊的聖誕節而編寫的一個編程語言。html
如今,全世界差很少有600多種編程語言,但流行的編程語言也就那麼20來種。若是你據說過TIOBE排行榜,你就能知道編程語言的大體流行程度。這是最近10年最經常使用的10種編程語言的變化圖:python
許多大型網站就是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。不少大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。算法
龜叔給Python的定位是「優雅」、「明確」、「簡單」,因此Python程序看上去老是簡單易懂,初學者學Python,不但入門容易,並且未來深刻下去,能夠編寫那些很是很是複雜的程序。macos
Python的小脾氣編程
Python程序是大小寫敏感的,若是寫錯了大小寫,程序會報錯。瀏覽器
Python使用縮進來組織代碼塊,請務必遵照約定俗成的習慣,堅持使用4個空格的縮進。網絡
在文本編輯器中,須要設置把Tab自動轉換爲4個空格,確保不混用Tab和空格。多線程
任何編程語言都有缺點,Python也不例外。編程語言
先看優勢編輯器
Python的定位是「優雅」、「明確」、「簡單」,因此Python程序看上去老是簡單易懂,初學者學Python,不但入門容易,並且未來深刻下去,能夠編寫那些很是很是複雜的程序。
開發效率很是高,Python有很是強大的第三方庫,基本上你想經過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大下降開發週期,避免重複造輪子。
高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
可移植性————因爲它的開源本質,Python已經被移植在許多平臺上(通過改動使它可以工 做在不一樣平臺上)。若是你當心地避免使用依賴於系統的特性,那麼你的全部Python程序無需修改就幾乎能夠在市場上全部的系統平臺上運行
可擴展性————若是你須要你的一段關鍵代碼運行得更快或者但願某些算法不公開,你能夠把你的部分程序用C或C++編寫,而後在你的Python程序中使用它們。
可嵌入性————你能夠把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。
再看缺點:
速度慢,Python 的運行速度相比C語言確實慢不少,跟JAVA相比也要慢一些,所以這也是不少所謂的大牛不屑於使用Python的主要緣由,但其實這裏所指的運行速度慢在大多數狀況下用戶是沒法直接感知到的,必須藉助測試工具才能體現出來,好比你用C運一個程序花了0.1s,用Python是0.01s,這樣C語言直接比Python快了10s,算是很是誇張了,可是你是沒法直接經過肉眼感知的,由於一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數狀況下Python已經徹底能夠知足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種狀況下,固然仍是建議你用C去實現的。
代碼不能加密,由於PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認爲這算是一個缺點,若是你的項目要求源代碼必須是加密的,那你一開始就不該該用Python來去實現。
線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任什麼時候刻僅有一個線程在執行,Python的線程是操做系統的原生線程。在Linux上爲pthread,在Windows上爲Win thread,徹底由操做系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即便在多核CPU平臺上,因爲GIL的存在,因此禁止多線程的並行執行。關於這個問題的折衷解決方法,咱們在之後線程和進程章節裏再進行詳細探討。
當咱們從Python官方網站下載並安裝好Python 2.7後,咱們就直接得到了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,因此叫CPython。在命令行下運行python
就是啓動CPython解釋器。
CPython是使用最廣的Python解釋器。教程的全部代碼也都在CPython下執行。
IPython是基於CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所加強,可是執行Python代碼的功能和CPython是徹底同樣的。比如不少國產瀏覽器雖然外觀不一樣,但內核其實都是調用了IE。
CPython用>>>
做爲提示符,而IPython用In [序號]:
做爲提示符。
PyPy是另外一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),因此能夠顯著提升Python代碼的執行速度。
絕大部分Python代碼均可以在PyPy下運行,可是PyPy和CPython有一些是不一樣的,這就致使相同的Python代碼在兩種解釋器下執行可能會有不一樣的結果。若是你的代碼要放到PyPy下執行,就須要瞭解PyPy和CPython的不一樣點。
Jython是運行在Java平臺上的Python解釋器,能夠直接把Python代碼編譯成Java字節碼執行。
IronPython和Jython相似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,能夠直接把Python代碼編譯成.Net的字節碼。
Python的解釋器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是經過網絡調用來交互,確保各程序之間的獨立性。
Python的安裝
目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。因爲3.x版愈來愈普及,咱們的教程將以最新的Python 3.5版本爲基礎。請確保你的電腦上安裝的Python版本是最新的3.5.x,這樣,你才能無痛學習這個教程。
若是你正在使用Mac,系統是OS X 10.8~10.10,那麼系統自帶的Python版本是2.7。要安裝最新的Python 3.5,有兩個方法:
方法一:從Python官網下載Python 3.5的安裝程序(網速慢的同窗請移步國內鏡像),雙擊運行並安裝;
方法二:若是安裝了Homebrew,直接經過命令brew install python3
安裝便可。
若是你正在使用Linux,那我能夠假定你有Linux系統管理經驗,自行安裝Python 3應該沒有問題,不然,請換回Windows系統。
對於大量的目前仍在使用Windows的同窗,若是短時間內沒有打算換Mac,就能夠繼續閱讀如下內容。
首先,根據你的Windows版本(64位仍是32位)從Python的官方網站下載Python 3.5對應的64位安裝程序或32位安裝程序(網速慢的同窗請移步國內鏡像),而後,運行下載的EXE安裝包:
特別要注意勾上Add Python 3.5 to PATH
,而後點「Install Now」便可完成安裝。
視頻演示:
安裝成功後,打開命令提示符窗口,敲入python後,會出現兩種狀況:
狀況一:
看到上面的畫面,就說明Python安裝成功!
你看到提示符>>>
就表示咱們已經在Python交互式環境中了,能夠輸入任何Python代碼,回車後會馬上獲得執行結果。如今,輸入exit()
並回車,就能夠退出Python交互式環境(直接關掉命令行窗口也能夠)。
狀況二:獲得一個錯誤:
‘python’ 不是內部或外部命令,也不是可運行的程序或批處理文件。
這是由於Windows會根據一個Path
的環境變量設定的路徑去查找python.exe
,若是沒找到,就會報錯。若是在安裝時漏掉了勾選Add Python 3.5 to PATH
,那就要手動把python.exe
所在的路徑添加到Path中。
若是你不知道怎麼修改環境變量,建議把Python安裝程序從新運行一遍,務必記得勾上Add Python 3.5 to PATH
。
視頻演示:
學會如何把Python安裝到計算機中,而且熟練打開和退出Python交互式環境。
在Windows上運行Python時,請先啓動命令行,而後運行python
。
在Mac和Linux上運行Python時,請打開終端,而後運行python3
。
PyCharm 5.03
連接:http://pan.baidu.com/s/1i5NZylB 密碼:6kmu