Python - 100天從新手到大師 -Day01 - 初識Python

初識Python

Python簡介

Python的歷史

1989年聖誕節:Guido von Rossum開始寫Python語言的編譯器。

1991年2月:第一個Python編譯器(同時也是直譯器)誕生,它是用C語言實現的(後面),可以呼叫C語言的庫函式。在最早的版本中,Python已經提供了對“類”,“函式”,“異常處理”等構造塊的支援,還有對列表、字典等核心資料型別,同時支援以模組為基礎來構造應用程式。

1994年1月:Python 1。0正式釋出。

2000年10月16日:Python 2。0釋出,增加了完整的垃圾回收,提供了對Unicode的支援。與此同時,Python的整個開發過程更加透明,社群對開發進度的影響逐漸擴大,生態圈開始慢慢形成。

2008年12月3日:Python 3。0釋出,它並不完全相容之前的Python程式碼,不過因為目前還有不少公司在專案和運維中使用Python 2。x版本,所以Python 3。x的很多新特性後來也被移植到Python 2。6/2。7版本中。

目前我們使用的Python 3。7。x的版本是在2018年釋出的,Python的版本號分為三段,形如A。B。C。其中A表示大版本號,一般當整體重寫,或出現不向後相容的改變時,增加A;B表示功能更新,出現新功能時增加B;C表示小的改動(例如:修復了某個Bug),只要有修改就增加C。如果對Python的歷史感興趣,可以閱讀名為《Python簡史》的博文。

Python的優缺點

Python的優點很多,簡單的可以總結為以下幾點。

簡單和明確,做一件事只有一種方法。

學習曲線低,跟其他很多語言相比,Python更容易上手。

開放原始碼,擁有強大的社群和生態圈。

解釋型語言,天生具有平臺可移植性。

對兩種主流的程式設計正規化(面向物件程式設計和函數語言程式設計)都提供了支援。

可擴充套件性和可嵌入性,例如在Python中可以呼叫C/C++程式碼。

程式碼規範程度高,可讀性強,適合有程式碼潔癖和強迫症的人群。

Python的缺點主要集中在以下幾點。

執行效率稍低,因此計算密集型任務可以由C/C++編寫。

程式碼無法加密,但是現在很多公司都不銷售賣軟體而是銷售服務,這個問題會被弱化。

在開發時可以選擇的框架太多(如Web框架就有100多個),有選擇的地方就有錯誤。

Python的應用領域

目前Python在Web應用開發、雲基礎設施、DevOps、網路資料採集(爬蟲)、資料分析挖掘、機器學習等領域都有著廣泛的應用,因此也產生了Web後端開發、資料介面開發、自動化運維、自動化測試、科學計算和視覺化、資料分析、量化交易、機器人開發、自然語言處理、影象識別等一系列相關的職位。

安裝Python直譯器

想要開始Python程式設計之旅,首先得在自己使用的計算機上安裝Python直譯器環境,下面將以安裝官方的Python直譯器為例,講解如何在不同的作業系統上安裝Python環境。官方的Python直譯器是用C語言實現的,也是使用最為廣泛的Python直譯器,通常稱之為CPython。除此之外,Python直譯器還有Java語言實現的Jython、C#語言實現的IronPython以及PyPy、Brython、Pyston等版本,我們暫時不對這些內容進行介紹,有興趣的讀者可以自行了解。

Windows環境

可以在Python官方網站下載到Python的Windows安裝程式(exe檔案),需要注意的是如果在Windows 7環境下安裝Python 3。x,需要先安裝Service Pack 1補丁包(可以透過一些工具軟體自動安裝系統補丁的功能來安裝),安裝過程建議勾選“Add Python 3。x to PATH”(將Python 3。x新增到PATH環境變數)並選擇自定義安裝,在設定“Optional Features”介面最好將“pip”、“tcl/tk”、“Python test suite”等項全部勾選上。強烈建議選擇自定義的安裝路徑並保證路徑中沒有中文。安裝完成會看到“Setup was successful”的提示。如果稍後執行Python程式時,出現因為缺失一些動態連結庫檔案而導致Python直譯器無法工作的問題,可以按照下面的方法加以解決。

如果系統顯示api-ms-win-crt*。dll檔案缺失,可以參照《api-ms-win-crt*。dll缺失原因分析和解決方法》一文講解的方法進行處理或者直接在微軟官網下載Visual C++ Redistributable for Visual Studio 2015檔案進行修復;如果是因為更新Windows的DirectX之後導致某些動態連結庫檔案缺失問題,可以下載一個DirectX修復工具進行修復。

Linux環境

Linux環境自帶了Python 2。x版本,但是如果要更新到3。x的版本,可以在Python的官方網站下載Python的原始碼並透過原始碼構建安裝的方式進行安裝,具體的步驟如下所示(以CentOS為例)。

安裝依賴庫(因為沒有這些依賴庫可能在原始碼構件安裝時因為缺失底層依賴庫而失敗)。

yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

下載Python原始碼並解壓縮到指定目錄。

wget https://www。python。org/ftp/python/3。7。6/Python-3。7。6。tar。xzxz -d Python-3。7。6。tar。xztar -xvf Python-3。7。6。tar

切換至Python原始碼目錄並執行下面的命令進行配置和安裝。

cd Python-3。7。6。/configure ——prefix=/usr/local/python37 ——enable-optimizationsmake && make install

修改使用者主目錄下名為。bash_profile的檔案,配置PATH環境變數並使其生效。

cd ~vim 。bash_profile

# 。。。 此處省略上面的程式碼 。。。export PATH=$PATH:/usr/local/python37/bin# 。。。 此處省略下面的程式碼 。。。

啟用環境變數。

source 。bash_profile

macOS環境

macOS也自帶了Python 2。x版本,可以透過Python的官方網站提供的安裝檔案(pkg檔案)安裝Python 3。x的版本。預設安裝完成後,可以透過在終端執行python命令來啟動2。x版本的Python直譯器,啟動3。x版本的Python直譯器需要執行python3命令。

執行Python程式

確認Python的版本

可以Windows的命令列提示符中鍵入下面的命令。

python ——version

或者是在Linux或macOS系統的終端中鍵入下面的命令。

python3 ——version

當然也可以先輸入python或python3進入互動式環境,再執行以下的程式碼檢查Python的版本。

import sysprint(sys。version_info)print(sys。version)

編寫Python原始碼

可以用文字編輯工具(推薦使用Sublime、Visual Studio Code等高階文字編輯工具)編寫Python原始碼並用py作為字尾名儲存該檔案,程式碼內容如下所示。

print(‘hello, world!’)

執行程式

切換到原始碼所在的目錄並執行下面的命令,看看螢幕上是否輸出了“hello, world!”。

python hello。py

python3 hello。py

程式碼中的註釋

註釋是程式語言的一個重要組成部分,用於在原始碼中解釋程式碼的作用從而增強程式的可讀性和可維護性,當然也可以將原始碼中不需要參與執行的程式碼段透過註釋來去掉,這一點在除錯程式的時候經常用到。註釋在隨原始碼進入預處理器或編譯時會被移除,不會在目的碼中保留也不會影響程式的執行結果。

單行註釋 - 以#和空格開頭的部分

多行註釋 - 三個引號開頭,三個引號結尾

“”“第一個Python程式 - hello, world!向偉大的Dennis M。 Ritchie先生致敬Version: 0。1Author: 駱昊”“”print(‘hello, world!’)# print(“你好,世界!”)print(‘你好’, ‘世界’)print(‘hello’, ‘world’, sep=‘, ’, end=‘!’)print(‘goodbye, world’, end=‘!\n’)

Python開發工具

IDLE - 自帶的整合開發工具

IDLE是安裝Python環境時自帶的整合開發工具,如下圖所示。但是由於IDLE的使用者體驗並不是那麼好所以很少在實際開發中被採用。

Python - 100天從新手到大師 -Day01 - 初識Python

IPython - 更好的互動式程式設計工具

IPython是一種基於Python的互動式直譯器。相較於原生的Python互動式環境,IPython提供了更為強大的編輯和互動功能。可以透過Python的包管理工具pip安裝IPython和Jupyter,具體的操作如下所示。

pip install ipython

pip3 install ipython

安裝成功後,可以透過下面的ipython命令啟動IPython,如下圖所示。

Python - 100天從新手到大師 -Day01 - 初識Python

Sublime Text - 高階文字編輯器

Python - 100天從新手到大師 -Day01 - 初識Python

首先可以透過官方網站下載安裝程式安裝Sublime Text 3或Sublime Text 2。

安裝包管理工具。

i。透過快捷鍵Ctrl+`或者在View選單中選擇Show Console開啟控制檯,輸入下面的程式碼。Sublime 3

import urllib。request,os;pf=‘Package Control。sublime-package’;ipp=sublime。installed_packages_path();urllib。request。install_opener(urllib。request。build_opener(urllib。request。ProxyHandler()));open(os。path。join(ipp,pf),‘wb’)。write(urllib。request。urlopen(‘http://sublime。wbond。net/’+pf。replace(‘ ’,‘%20’))。read())

Sublime 2

ii。在瀏覽器中輸入 https://sublime。wbond。net/Package%20Control。sublime-package 下載包管理工具的安裝包,並找到安裝Sublime目錄下名為“Installed Packages”的目錄,把剛才下載的檔案放到這個檔案加下,然後重啟Sublime Text就搞定了。

安裝外掛。透過Preference選單的Package Control或快捷鍵Ctrl+Shift+P開啟命令面板,在面板中輸入Install Package就可以找到安裝外掛的工具,然後再查詢需要的外掛。我們推薦大家安裝以下幾個外掛:

SublimeCodeIntel - 程式碼自動補全工具外掛。

Emmet - 前端開發程式碼模板外掛。

Git - 版本控制工具外掛。

Python PEP8 Autoformat - PEP8規範自動格式化外掛。

ConvertToUTF8 - 將本地編碼轉換為UTF-8。

說明:事實上Visual Studio Code可能是更好的選擇,它不用花錢並提供了更為完整和強大的功能,有興趣的讀者可以自行研究。

PyCharm - Python開發神器

PyCharm的安裝、配置和使用在《玩轉PyCharm》進行了介紹,有興趣的讀者可以選擇閱讀。

Python - 100天從新手到大師 -Day01 - 初識Python

練習

在Python互動式環境中輸入下面的程式碼並檢視結果,請嘗試將看到的內容翻譯成中文。

import this

說明:輸入上面的程式碼,在Python的互動式環境中可以看到Tim Peter撰寫的“Python之禪”,裡面講述的道理不僅僅適用於Python,也適用於其他程式語言。

學習使用turtle在螢幕上繪製圖形。

說明:turtle是Python內建的一個非常有趣的模組,特別適合對計算機程式設計進行初體驗的小夥伴,它最早是Logo語言的一部分,Logo語言是Wally Feurzig和Seymour Papert在1966發明的程式語言。

import turtleturtle。pensize(4)turtle。pencolor(‘red’)turtle。forward(100)turtle。right(90)turtle。forward(100)turtle。right(90)turtle。forward(100)turtle。right(90)turtle。forward(100)turtle。mainloop()

提示:本章提供的程式碼中還有畫國旗和畫小豬佩奇的程式碼,有興趣的讀者請自行研究。