開始我的python之旅--Python簡介

Python簡介


Python是著名的“龜叔”Guido van Rossum在1989年聖誕節期間,爲了打發無聊的聖誕節而編寫的一個編程語言。

現在,全世界差不多有600多種編程語言,但流行的編程語言也就那麼20來種。如果你聽說過TIOBE排行榜,你就能知道編程語言的大致流行程度。這是最近10年最常用的10種編程語言的變化圖:

tpci_trends

許多大型網站就是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

龜叔給Python的定位是“優雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程序。


Python的小脾氣

Python程序是大小寫敏感的,如果寫錯了大小寫,程序會報錯。

Python使用縮進來組織代碼塊,請務必遵守約定俗成的習慣,堅持使用4個空格的縮進。

在文本編輯器中,需要設置把Tab自動轉換爲4個空格,確保不混用Tab和空格。


任何編程語言都有缺點,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相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這裏所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須藉助測試工具才能體現出來,比如你用C運一個程序花了0.1s,用Python是0.01s,這樣C語言直接比Python快了10s,算是非常誇張了,但是你是無法直接通過肉眼感知的,因爲一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種情況下,當然還是建議你用C去實現的。

  2. 代碼不能加密,因爲PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認爲這算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應該用Python來去實現。

  3. 線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上爲pthread,在Windows上爲Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平臺上,由於GIL的存在,所以禁止多線程的並行執行。關於這個問題的折衷解決方法,我們在以後線程和進程章節裏再進行詳細探討。

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的字節碼。

小結

Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網絡調用來交互,確保各程序之間的獨立性。


Python的安裝

安裝Python 3.5

目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。由於3.x版越來越普及,我們的教程將以最新的Python 3.5版本爲基礎。請確保你的電腦上安裝的Python版本是最新的3.5.x,這樣,你才能無痛學習這個教程。

在Mac上安裝Python

如果你正在使用Mac,系統是OS X 10.8~10.10,那麼系統自帶的Python版本是2.7。要安裝最新的Python 3.5,有兩個方法:

方法一:從Python官網下載Python 3.5的安裝程序(網速慢的同學請移步國內鏡像),雙擊運行並安裝;

方法二:如果安裝了Homebrew,直接通過命令brew install python3安裝即可。

在Linux上安裝Python

如果你正在使用Linux,那我可以假定你有Linux系統管理經驗,自行安裝Python 3應該沒有問題,否則,請換回Windows系統。

對於大量的目前仍在使用Windows的同學,如果短期內沒有打算換Mac,就可以繼續閱讀以下內容。

在Windows上安裝Python

首先,根據你的Windows版本(64位還是32位)從Python的官方網站下載Python 3.5對應的64位安裝程序32位安裝程序(網速慢的同學請移步國內鏡像),然後,運行下載的EXE安裝包:

install-py35

特別要注意勾上Add Python 3.5 to PATH,然後點“Install Now”即可完成安裝。

視頻演示:

install-py.mp4

運行Python

安裝成功後,打開命令提示符窗口,敲入python後,會出現兩種情況:

情況一:

run-py3-win

看到上面的畫面,就說明Python安裝成功!

你看到提示符>>>就表示我們已經在Python交互式環境中了,可以輸入任何Python代碼,回車後會立刻得到執行結果。現在,輸入exit()並回車,就可以退出Python交互式環境(直接關掉命令行窗口也可以)。

情況二:得到一個錯誤:

‘python’ 不是內部或外部命令,也不是可運行的程序或批處理文件。

python-not-found

這是因爲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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章