簡明Python教程·關(guān)于Python&安裝
上一篇專欄


關(guān)于 Python
Python 是一種極少數(shù)能聲言兼具 簡單 與 功能強(qiáng)大 的編程語言。你將驚異于發(fā)現(xiàn)你正在使用 的這門編程語言是如此簡單,它專注于如何解決問題,而非拘泥于語法與結(jié)構(gòu)。
官方對(duì) Python 的介紹如下:
Python 是一款易于學(xué)習(xí)且功能強(qiáng)大的編程語言。 它具有高效率的數(shù)據(jù)結(jié)構(gòu),能夠簡單又 有效地實(shí)現(xiàn)面向?qū)ο缶幊?。Python 簡潔的語法與動(dòng)態(tài)輸入之特性,加之其解釋性語言的 本質(zhì),使得它成為一種在多種領(lǐng)域與絕大多數(shù)平臺(tái)都能進(jìn)行腳本編寫與應(yīng)用快速開發(fā)工 作的理想語言。?
我將會(huì)在下一節(jié)詳細(xì)討論這些特性。
名字背后的故事?
Python 的創(chuàng)造者吉多·范羅蘇姆(Guido van Rossum)采用 BBC 電視節(jié)目《蒙提·派森的飛 行馬戲團(tuán)(Monty Python's Flying Circus,一譯巨蟒劇團(tuán))》的名字來為這門編程語言命名。 盡管他本人并不特別喜歡蟒蛇這種通過在獵物身邊卷曲自己的身體以此來碾碎獵物身體來進(jìn) 食的動(dòng)物。
Python 的特色?
簡單
Python 是一門簡單且簡約的語言。閱讀一份優(yōu)秀的 Python 程序代碼就如同在閱讀英語文章 一樣,盡管這門英語要求十分嚴(yán)格!Python 這種偽代碼式的特質(zhì)正是它的一大優(yōu)勢。它能夠 讓你專注于解決問題的方案,而不是語言本身。?
易于學(xué)習(xí)?
正如你接下來將看到的,Python 是一門非常容易入門的語言。正如前面所提到的,Python 有 一套極其簡單的語法體系。?
自由且開放
?Python 是 FLOSS (自由/開放源代碼軟件)的成員之一。簡單來說,你可以自由地分發(fā)這一 軟件的拷貝,閱讀它的源代碼,并對(duì)其作出改動(dòng),或是將其的一部分運(yùn)用于一款新的自由程 序中。FLOSS 基于一個(gè)可以分享知識(shí)的社區(qū)理念而創(chuàng)建。這正是 Python 為何能如此優(yōu)秀的 一大原因——它由一群希望看到 Python 能變得更好的社區(qū)成員所創(chuàng)造,并持續(xù)改進(jìn)至今。
?高級(jí)語言?
當(dāng)你在用 Python 編寫程序時(shí),你不必考慮諸如你的程序應(yīng)當(dāng)如何使用內(nèi)存等底層細(xì)節(jié)。
跨平臺(tái)性
由于其開放源碼的特性,Python 已被移植到其它諸多平臺(tái)(意即它們已經(jīng)過改動(dòng)以保證其能 正常工作)。如果你小心地避開了所有系統(tǒng)依賴型的特性。你所有的 Python 程序可以在其中 任何一個(gè)平臺(tái)上工作,不必作出任何改動(dòng)。
你可以在 GNU/Linux、Windows、FreeBSD、Macintosh、 Solaris、 OS/2、 Amiga、 AROS、 AS/400、 BeOS、 OS/390、 z/OS、 Palm OS、 QNX、 VMS、 Psion、 Acorn RISC OS、 VxWorks、 PlayStation、 Sharp Zaurus、 Windows CE 以及 PocketPC 平臺(tái)上運(yùn)行 Python! 你甚至可以通過諸如 Kivy 一類的平臺(tái)來制作可在你的電腦 以及 iPhone、iPad 或安卓手機(jī)上 運(yùn)行的游戲。?
解釋性?
有關(guān)這一特性,需要一些詳細(xì)的解釋。
在你使用諸如 C 或 C++ 等編譯語言編寫程序時(shí),需要將這些語言的源代碼通過編譯程序配合 其中不同的標(biāo)記(Flags)與選項(xiàng),來將它們轉(zhuǎn)換成你的電腦所使用的語言(例如 0 與 1 構(gòu)成 的二進(jìn)制碼)。當(dāng)你運(yùn)行這些程序時(shí),鏈接程序或載入程序?qū)?huì)從硬盤中將程序拷貝至內(nèi)存 中并將其運(yùn)行。
另一方面,Python 不需要將其編譯成二進(jìn)制碼。你只需要直接從源代碼 運(yùn)行 該程序。在程 序內(nèi)部,Python 會(huì)將源代碼轉(zhuǎn)換為稱為字節(jié)碼的中間形式,爾后再轉(zhuǎn)換成你的電腦所使用的 語言,并運(yùn)行它。實(shí)際上,這一流程使得 Python 更加易于使用,你不必再擔(dān)心該如何編譯程 序,或如何保證適當(dāng)?shù)膸毂徽_的鏈接并加載等等步驟。這也同樣使得 Python 程序更便攜且 易于遷移,你只需要將 Python 程序拷貝到另一臺(tái)電腦便可讓它立即開始工作!
面向?qū)ο?
Python 同時(shí)支持面向過程編程與面向?qū)ο缶幊?。?面向過程 的編程語言中,程序是由僅僅 帶有可重用特性的子程序與函數(shù)所構(gòu)建起來的。在 面向?qū)ο?的編程語言中,程序是由結(jié)合了 數(shù)據(jù)與功能的對(duì)象所構(gòu)建起來的。與 C++ 或 Java 這些大型語言相比,Python 具有其特別 的、功能強(qiáng)大又簡單的方式來實(shí)現(xiàn)面向?qū)ο缶幊獭?
可擴(kuò)展性
如果你需要代碼的某一重要部分能夠快速地運(yùn)行,或希望算法的某些部分不被公開,你可以 在 C 或 C++ 語言中編寫這些程序,然后再將其運(yùn)用于你的 Python 程序中。
可嵌入性?
你可以在你的 C 或 C++ 程序中嵌入 Python,從而向你的程序用戶提供 腳本 功能。
豐富的庫?
實(shí)際上 Python 標(biāo)準(zhǔn)庫的規(guī)模非常龐大。它能夠幫助你完成諸多事情,包括正則表達(dá)式、文檔 生成、單元測試、多線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、郵件、XML、XML-RPC、 HTML、WAV 文件、密碼系統(tǒng)、GUI(圖形用戶界面),以及其它系統(tǒng)依賴型的活動(dòng)。只需 記住,只要安裝了 Python,這些功能便隨時(shí)可用。它們的存在被稱作 Python 自備電池 (Batteries Included) 式的哲學(xué)。 除了標(biāo)準(zhǔn)庫以外,你還可以在 Python 庫索引(Python Package Index) 中發(fā)掘許多其它高 質(zhì)量的庫。
總結(jié)
Python 著實(shí)是一門令人心生激動(dòng)且強(qiáng)大的語言。它得當(dāng)?shù)亟Y(jié)合了性能與功能,使得編寫 Python 程序是如此簡易又充滿樂趣。?
Python 3 VS Python 2?
如果你對(duì)“Python 2”與“Python 3”之間的區(qū)別不感興趣你可以略過本段。但務(wù)必注意你正在使 用的版本。本書是以 Python 3 為對(duì)象撰寫的。 只消記住一旦你正確理解并學(xué)習(xí)了其中一個(gè)版本的 Python,你便可以很容易地理解另一版本 的區(qū)別,并能快速學(xué)習(xí)如何使用。困難的是學(xué)習(xí)如何編程以及理解 Python 語言本身的基礎(chǔ)部分。這便是我們在本書中的目標(biāo),而一旦你達(dá)成了目標(biāo),你便可以根據(jù)你的實(shí)際情況,決定 是該使用 Python 2 還是 Python 3。 要想了解有關(guān) Python 2 和 Python 3 之間的區(qū)別的更多細(xì)節(jié),你可以參閱:?
The future of Python 2
Porting Python 2 Code to Python 3?
Writing code that runs under both Python2 and 3?
Supporting Python 3: An in-depth guide
程序員怎么說?
或許你在閱讀諸如 ESR 等偉大的黑客是如何討論 Python 時(shí)會(huì)有些有趣的發(fā)現(xiàn):?
埃里克·雷蒙(Eric S. Raymond) 是《大教堂和市集(The Cathedral and the Bazaar)》的作者,同時(shí)也是 開放源代碼促進(jìn)會(huì) 的創(chuàng)始人之一。他曾說Python 已成為 他所喜愛的一門編程語言。這篇文章給了我接觸 Python 的最先鼓舞。
布魯斯·埃克爾(Bruce Eckel) 是《Java 編程思想(Thinking in Java)》與《C++ 編程思想(Thinking in C++)》的作者。他說沒有一種編程語言能像 Python 這樣使他更加高 產(chǎn)。他說或許 Python 是唯一一門面向程序員且致力于使事情變得更加容易的語言。閱讀 完整采訪 以了解更多細(xì)節(jié)。?
彼得·諾米格(Peter Norvig) 是廣為人知的 Lisp 作者,同時(shí)也是 Google 公司的搜索質(zhì) 量總監(jiān)(Director of Search Quality,感謝吉多·范羅蘇姆指出這一點(diǎn))。他說寫 Python 時(shí)就好像在寫偽代碼。他還說 Python 一直是構(gòu)成 Google 整體的重要部分。你可以通過 瀏覽 Google Jobs 頁面并發(fā)現(xiàn)“Python 知識(shí)”是軟件工程師所須具備的一項(xiàng)要求來驗(yàn)證這 一說法。

安裝
我們在本書中提及“Python 3”時(shí),我們指的是任何大于等于該版本的 Python 3.5.1。
在 Windows 中安裝?
訪問 https://www.python.org/downloads/ 并下載最新版本的 Python。在本書撰寫的時(shí)點(diǎn),最 新版本為 Python 3.5.1。 其安裝過程與其它 Windows 平臺(tái)的軟件的安裝過程無異。
注意:請(qǐng)務(wù)必確認(rèn)你勾選了 Add Python 3.5 to PATH 選項(xiàng)。?
若要想改變安裝位置,勾選 Customize installation 選項(xiàng),點(diǎn)擊 Next 后在安裝位置中輸入 C:\python35?
如未勾選相關(guān)選項(xiàng),你可以點(diǎn)擊 Add Python to environment variables 。它和安裝程序第一 屏的 Add Python 3.5 to PATH 能起到相同效果。?
你可以選擇是否為所有用戶安裝啟動(dòng)器,這不會(huì)產(chǎn)生多大影響。啟動(dòng)器用以切換已安裝的不 同版本的 Python。
?如果你的環(huán)境變量(Path)未正確設(shè)置,可以遵循上述步驟予以修正。否則,請(qǐng)參閱 在 Windows 中運(yùn)行 Python 提示符 。
注意:對(duì)于那些對(duì)編程有所了解的人,如果你熟悉 Docker,可以參閱 Python in Docker 和 Docker on Windows。?
DOS 提示符?
如果你希望在 Windows 命令行使用 Python,比如 DOS 提示符,你需要設(shè)置相應(yīng)的PATH 環(huán)境變量。
?對(duì)于 Windows 2000,XP,2003,點(diǎn)擊 控制面板 → 系統(tǒng) → 高級(jí) → 環(huán)境變量 。點(diǎn)擊 系統(tǒng) 變量 選項(xiàng)卡下名為 PATH 的變量,選擇 編輯 并在已存在的字符串末尾添加 ;C:\Python35 (請(qǐng)確保該文件夾確實(shí)存在,對(duì)于更新版本的 Python 文件夾的名字可能有所不同)。當(dāng)然, 你應(yīng)該使用恰當(dāng)?shù)哪夸浢Q。
對(duì)于更古老的 Windows 系統(tǒng)版本,打開文件 C:\AUTOEXEC.BAT 并在其中添加一行 PATH=%PATH%;C:\Python35 ,完成編輯并保存后,你需要重啟系統(tǒng)。對(duì)于 Windows NT 系統(tǒng), 則對(duì)應(yīng) AUTOEXEC.NT 文件。
對(duì)于 Windows Vista:
點(diǎn)擊開始并選擇 控制面板 。?
點(diǎn)擊系統(tǒng),在右側(cè)你將會(huì)看見“瀏覽你的計(jì)算機(jī)的基本信息”
左側(cè)將由一個(gè)任務(wù)列表,最后一個(gè)即為“高級(jí)系統(tǒng)設(shè)置”,點(diǎn)擊它。
高級(jí) 標(biāo)簽欄下可以看見 系統(tǒng)屬性 對(duì)話框。
在較低位置的名為 系統(tǒng)變量 的對(duì)話框,向下滾動(dòng)至變量部分并點(diǎn)擊 編輯 按鈕。
修改你需要改動(dòng)的變量。
重啟系統(tǒng)。Vista 直至重啟前都不會(huì)應(yīng)用系統(tǒng)變量環(huán)境的改動(dòng)。?
對(duì)于 Windos 7 與 8:?
在桌面右擊計(jì)算機(jī)并選擇 屬性 或點(diǎn)擊 開始 并選擇 控制面板 → 系統(tǒng)與安全 → 系統(tǒng) 。 點(diǎn)擊左側(cè)的 高級(jí)系統(tǒng)設(shè)置 并選擇 高級(jí) 標(biāo)簽。點(diǎn)擊底部 系統(tǒng)變量 下的 環(huán)境變量 ,找到 PATH 屬性,將其選中并點(diǎn)擊 編輯 。?
前往變量值的最后一行并添加 ;C:\Python35 (請(qǐng)確保該文件夾確實(shí)存在,對(duì)于更新版本 的 Python 文件夾的名字可能有所不同)至業(yè)已存在的部分的后方。當(dāng)然,你應(yīng)該使用恰 當(dāng)?shù)哪夸浢Q。
如果該變量值為 %SystemRoot%\system32; 則在修改后其應(yīng)變?yōu)?%SystemRoot%\system32;C:\Python35?
點(diǎn)擊 確定 以完成操作。你不需要進(jìn)行重啟,不過你可能需要關(guān)閉并重啟命令提示符。
在 Windows 下運(yùn)行 Python 命令提示符
對(duì)于 Windows 用戶來說,如果你已經(jīng)正確并恰當(dāng)?shù)?span id="s0sssss00s" class="color-blue-03">設(shè)置了 PATH 變量,你可以在命令行中運(yùn) 行解釋程序。
要想在 Windows 中運(yùn)行終端,點(diǎn)擊開始并點(diǎn)擊 運(yùn)行 。在對(duì)話中輸入 cmd 并按下回車鍵。 然后,輸入 python 以確保其沒有任何錯(cuò)誤。
在 Mac OS 下安裝?
對(duì)于 Mac OS X 用戶,你可以使用 Homebrew 并通過命令 brew install python3 進(jìn)行安裝。
要想驗(yàn)證安裝是否成功,你可以通過按鍵 [Command + Space] (以啟動(dòng) Spotlight 搜索),輸 入 Terminal 并按下 [enter] 鍵來啟動(dòng)終端程序?,F(xiàn)在,試著運(yùn)行 python3 來確保其沒有 任何錯(cuò)誤。?
在 GNU/Linux 下安裝?
對(duì)于 GNU/Linux 用戶,你可以使用發(fā)行版的包管理器來安裝 Python 3,例如在 Debian 與 Ubuntu 平臺(tái)下,你可以輸入命令: sudo apt-get update && sudo apt-get install python3 。
要想驗(yàn)證安裝是否成功,你可以通過打開 Terminal 應(yīng)用或通過按下 Alt + F2 組合鍵并輸 入 gnome-terminal 來啟動(dòng)終端程序。如果這不起作用,請(qǐng)查閱你所使用的的 GNU/Linux 發(fā) 行版的文檔?,F(xiàn)在,運(yùn)行 python3 命令來確保其沒有任何錯(cuò)誤。
你會(huì)看到在運(yùn)行命令后 Python 的版本信息顯示在屏幕上:
附注: $ 是 Shell 的提示符。根據(jù)你電腦所運(yùn)行的操作系統(tǒng)的設(shè)置的不同,它也會(huì)有所不 同,在之后的內(nèi)容中我會(huì)使用 $ 符號(hào)來代表提示符。
注意:輸出的內(nèi)容會(huì)因你的電腦而有所不同,其取決于你在你的電腦上安裝的 Python 版本。
總結(jié)
從現(xiàn)在起,我們將假定你已經(jīng)在你的系統(tǒng)中安裝了 Python。?
接下來,我們將要撰寫我們的第一個(gè) Python 程序。?
本書采用 Python 3.5.1 用來講授,但最新版本 Python 已非此版本。在翻譯時(shí)遵從原 書內(nèi)容繼續(xù)沿用 Python 3.5.1 版本,請(qǐng)讀者自行代換為最新版本。

下一篇專欄
