【系列】Python編程思想(1):Python簡介與開發環境搭建
李寧老師的《Python編程思想》上線了,囊括了Python的核心技術,以及Python的主要函數庫的使用方法。讀者可以關注「極客起源」微信公眾號,並輸入 160442 開始學習。
本系列文章深入介紹了Python的各種技術,堪稱是目前最全的Python教程。主要目的是讓讀者可以了解Python的各種核心技術,包括各種Python函數庫。本教程使用Python 3.8講解,讀者也並不需要糾結Python版本。如果讀者當前正在使用更低的Python版本,如Python3.6或Python 3.7,並不需要更換Python版本。只要使用Python3.5以上的版本,就完全可以運行本教程的程式碼。
如果讀者使用的是Anaconda中的Python環境,是無法使用最新的Python版本的。因為Anaconda集成了Python環境,但升級的速度並不快,所以大多數時候,Anaconda中的Python版本會比Python官方的版本滯後一些,如果也足夠運行本教程的程式碼了。
本教程使用PyCharm作為Python的IDE,這也是本教程推薦使用的Python IDE。因為PyCharm功能非常強大,而且可以下載免費的社區版本來完成本教程的各種實驗。
1. Python簡介
伴隨著大數據和人工智慧的興起, Python這門「古老」的語言重新出了青春。其實 Python一直是一門優秀的程式語言,不僅簡潔、易用,而且功能強大,它能做到的事情太多了——既可用於開發桌面應用,也可用於做網路編程,還可用於開發Web應用,甚至可以開發移動App。可能正因為它能做到的方面太多,反而顯得沒有特別突出的一面。另外,由於 Python非常簡單,很多非專業人士,甚至是一些小朋友都在用Python,這導致一些專業程式設計師對 Python抱有一定的偏見。
現在情況發生了改變,Python不僅可以做那些常規的應用,還可以編寫大數據和人工智慧這兩個被認為高大上領域的程式,這使得 Python語言變得非常流行,目前在程式語言排行榜中,Python、Java和C語言總是搶佔前三名。可能不同的排行榜調查的對象不同。但Python絕大多數時候都會出現在前三名。
2. Python 簡史
雖然軟體產業的歷史相對於人類歷史非常短暫,但在這短暫的歷史中卻誕生了非常多的程式語言,Python就是其中之一。 Python語言算得上一門「古老」的程式語言, Python流行這麼久,必然有它的獨到之處,下面我們簡單介紹 Python的相關情況。
Python由 Guido van rossum於1989年年底出於某種娛樂目的而開發,Python語言是基於ABC教學語言的,而ABC這種語言非常強大,是專門為非專業程式設計師設計的。但ABC語言並沒有獲得廣泛的應用,Guido認為是非開放造成的。
Python的「出身」部分影響了它的流行, Python上手非常簡單,它的語法非常像自然語言,對非軟體專業人士而言,選擇 Python的成本非常低,因此某些醫學甚至藝術專業背景的人,往往會選擇 Python作為程式語言。
Guido在 Python中避免了ABC不夠開放的劣勢,Guido加強了 Python和其他語言如C、C++和Java的結合性。此外, Python還實現了許多ABC中未曾實現的東西,這些因素大大提高了 Python的流行程度。
2008年12月, Python發布了3.0版本(也常常被稱為 Python3000或簡稱Py3k)。 Python3.0是一次重大的升級,為了避免引入歷史包袱, Python3.0沒有考慮與 Python2.x的兼容性。這樣導致很長時間以來, Python2.x的用戶不願意升級到 Python3.0,這種割裂一度影響了 Python的應用。
畢竟大勢所趨,開發者逐漸發現 Python3.x更簡潔、更方便。現在,絕大部分開發者已經從Python2.x轉移到 Python3.x,但有些早期的 Python程式可能依然使用了 Python2.x語法。
Python3.x的主要版本發布如下:
2009年6月, Python發布了3.1版本。
2011年2月, Python發布了32版本。
2012年9月, Python發布了3.3版本。
2014年3月, Python發布了34版本。
2015年9月, Python發布了3.5版本。
2016年12月, Python發布了3.6版本。
… …
2020年2月24日,Python發布了3.8.2版本。
3. Python的前景
學會Python可以做很多事,但Python最為火爆的領域當屬人工智慧,在人工智慧領域中,深度學習最受到關注。未來是人工智慧的時代,有理由相信 Python 將發揮更大的作用。經過多年的演進,人工智慧發展進入了新階段。為搶抓人工智慧發展的重大戰略機遇:
隨著中國政府加大對人工智慧的投入,人工智慧在中國的發展會更快速,而Python作為人工智慧的首選程式語言,將成為進入人工智慧領域的第一道門檻。下面就來看看中國政府在近幾年在人工智慧和Python語言方面有哪些舉措。
- 2017年7月20日,國務院印發了《新一代人工智慧發展規劃》,提出了面向2030年中國新一代人工智慧發展的指導思想、戰略目標、重點任務和保障措施。
- 2017年 10 月 11 日,教育部考試中心發布了「關於全國電腦等級(NCRE)體系調整」的通知,決定自 2018 年 3月起,在電腦二級考試加入了「Python 語言程式設計」科目。
- 2018年1月16日上午,教育部召開新聞發布會,介紹了《普通高中課程方案和語文等學科課程標準(2017年版)》的有關情況,在此次「新課標」改革中,正式將人工智慧、物聯網、大數據處理劃入新課標,這也就意味著今年秋季入學的高中生,將要開始學習 Python 了。
4 如何學好Python
如何學好Python語言,是所有初學者需要共同面對的問題,其實每種程式語言的學習方法都大同小異。下面是給初學者的幾點建議。
- 大體了解一下Python是一種怎樣的程式語言,以及主要的應用領域。說白了,就是要了解Python能做什麼,擅長做什麼。對Python語言有一個宏觀的認識。
- 搭建開發環境,不管三七二十一,先弄出一個Hello World再說(可以複製現有的程式碼)。這樣會給自己帶來繼續學習下去的信心。我們可以設想,學了一個星期,如何連一行程式碼都寫不出來,繼續學下去的興趣還會剩多少呢?
- 不要深究設計模式,這些東西是給那些有多年經驗的程式設計師準備的,而且設計模式也不是用來學的,更不是用來記的,是依靠自己的多年經驗和實踐得出來的。這就像學英語,只管說就好了,管他什麼語法,說多了,英語自然就純正了。所以在一開始寫程式時,只管寫就好了,讓設計模式見鬼去吧!
- 模仿書中的例子程式碼,一定要自己親手寫程式碼,當然,一開始為了看運行結果,可以將書中的例子直接複製過來,但一定要完全自己寫一遍,程式碼可以與書中的例子不同,只要實現同樣的功能即可。
- 在編寫程式碼的過程中,不需要對Python語言的語法死記硬背,如果某些語法實在記不住,就把這些語法寫在卡片上,或乾脆放到有道雲筆記上,以便隨時查看,寫多了自然就記住了。
- 初學者不需要大量閱讀Python的書籍,也不需要在網上查閱過多的技術資料,因為在自己的功力還沒有達到一定火候時,攝入太多的資訊會分散自己的精力,可能會適得其反。用一句武林中的話說就是:走火入魔。因此,對於初學者來說,選擇一本合適的Python入門的書非常重要,例如,《Python從菜鳥到高手》一書全面介紹了Python的核心知識點,全書共33章,超過5萬行程式碼。非常適合新手從零開始學Python。
- 經常總結是一個好習慣,這個習慣對於程式設計師來說尤其重要。讀者可以經常把自己的學習心得,以及經常需要查閱的內容發布到部落格上,這樣不僅可以提高自己的技術能力,還可以提高自己的語言表達能力。
- 大量閱讀源程式碼。如果前面的方法讀者做的都很好,那麼相信讀者的技術水平已經有了一個質的飛躍,剩下來的工作就是更進一步地提高自己的技術能力。閱讀各種開源項目的源程式碼是一個非常好的方式。
5 搭建開發環境
5.1 安裝Python環境
不管用什麼工具開發Python程式,都必須安裝Python的運行環境。由於Python是跨平台的,所以在安裝之前,先要確定在哪一個作業系統平台上安裝,目前最常用的是Windows、Mac OS X和Linux三大平台。由於目前使用Windows的人數最多,所以本書主要以Windows為主介紹Python運行環境的搭建與程式的開發,其他作業系統的安裝方法類似。
讀者可以直接到Python的官網下載相應作業系統平台的Python安裝包。
//www.python.org/downloads
進入下載頁面,瀏覽器會根據不同的作業系統顯示不同的Python安裝包下載鏈接。如果讀者使用的是Windows平台,會顯示如下圖所示的Python下載頁面。

如果讀者使用的是Mac OS X平台,會顯示如下圖所示的Python下載頁面。

不管是哪個作業系統平台的下載頁面,都會出現「Download Python 3.8.2」按鈕(隨著時間的推移,可能版本號略有不同)。如果是Windows平台,下載的是exe安裝程式,如果是Mac OS X平台,下載的是pkg文件,這是Mac OS X上的安裝程式,直接安裝即可。
現在主要來說說在Windows平台如何安裝Python運行環境。首先運行下載的exe文件,會顯示如下圖所示的Python安裝介面。建議讀者選中介面下方的「Add Python 3.8 to PATH」複選框,這樣安裝程式就會自動將Python的路徑加到PATH環境變數中。

在上面所示的介面中出現兩個安裝選項,「Install Now」和「Customize installation」,一般點擊「Install Now」即可,點擊該選項後,會開始安裝Python,下圖是顯示安裝進度的介面,讀者只需要耐心等待Python安裝完即可。

安裝完後,會出現如下圖的安裝成功介面。

5.2 安裝Anaconda
開發一個完整的Python應用,光使用Python本身提供的模組是遠遠不夠的,因此,需要使用大量第三方的模組。在發布Python應用時安裝這些第三方模組是一件令人頭痛的事,不過有了Anaconda,讓這件事輕鬆不少。Anaconda是一個集成的Python運行環境。除了包含Python本身的運行環境外,還集成了很多第三方模組,如本書後面要將的numpy、pandas、flask等模組都集成在了Anaconda中,也就是說,只要安裝了Anaconda,這些模組都不需要安裝了。
Anaconda的安裝相當簡單,首先進入Anaconda的下載頁面,地址如下:
//www.anaconda.com/download
Anaconda的下載頁面也會根據用戶當前使用的作業系統自動切換到相應的Anaconda安裝包。Anaconda是跨平台的,支援Windows、Mac OS X和Linux。不管是哪個作業系統平台的安裝包,下載直接安裝即可。
Anaconda的安裝包分為Python3.x和Python2.x兩個版本,建議讀者下載Python3.x
版的Anaconda。下載介面如下圖所示。下載完後,直接安裝即可。

5.3 PyCharm安裝
支援Python的開發環境非常多,但適合工程化開發的環境,PyCharm是最好的,所以本文強烈推薦讀者使用PyCharm作為首選IDE。
讀者可以從下面的鏈接下載PyCharm。
PyCharm有兩個版本,一個是社區版本,另外一個呢是專業版本。如果讀者只想學習Python本身的功能。那麼可以選擇免費的社區版本。

安裝完後可以啟動PyCharm,啟動介面如下圖所示。用戶可以單擊Create New Project創建一個新工程。

最初的開發介面如下圖所示。

然後通過右鍵菜單創建一個空的Python文件,創建的介面如下圖所示。

創建完first.py文件,就可以編寫程式碼了,如下圖所示。

如果機器上安裝了多個Python環境,可以點擊下圖的Edit Configurations,來顯示Run/Debug Configurations對話框,


6. 測試開發環境
這一節來編寫一個非常簡單的Python程式來測試前面搭建的Python開發環境。這個程式定義了兩個整數類型的變數n和m,並將兩個變數相加,最後調用print函數輸出這兩個變數的和。
首先在first.py文件中輸入如下的程式碼:
n = 20 m = 30 print("n + m =",n + m)
然後按前面介紹的方式運行first.py,如果在Console中顯示如圖所示的內容,說明Python的開發環境安裝成功。

好了,現在Python的開發環境已經搞定了,接下來就可以愉快地學習Python開發了。