Python 3 非程式設計師教程/簡介
所以,你以前從未程式設計過。在我們學習本教程的過程中,我將嘗試教你如何程式設計。學習程式設計實際上只有一條路。你必須閱讀程式碼並編寫程式碼(因為計算機程式通常被稱為程式碼)。我將向你展示很多程式碼。你應該輸入我展示給你的程式碼,看看會發生什麼。嘗試改變它,玩玩它。最壞的結果就是它不工作。當我輸入程式碼時,它將以這種格式顯示
# Python is easy to learn
print("Hello, World!")
這樣很容易與其他文字區分開。如果你在網上閱讀,你會注意到程式碼是彩色的——這只是為了讓它突出,以及讓程式碼的不同部分彼此區分開。你輸入的程式碼可能不會有顏色,或者顏色可能不同,但只要你以與這裡列印的方式相同的方式輸入,它就不會影響程式碼。
如果計算機列印了一些東西,它將以這種格式顯示
Hello, World!
(注意,列印的文字會顯示在你的螢幕上,並且不涉及紙張。在計算機有螢幕之前,計算機程式的輸出將列印在紙上。)
請注意,這是一個 Python 3 教程,這意味著大多數示例在 Python 2.7 及更早版本中將無法執行。此外,除了少數額外的 Python 2.7 庫(第三方庫)之外,幾乎所有庫都已轉換為 Python 3。你很可能想要學習 Python 3,但如果你正在學習 Python 用於僅用 Python 2.7 編寫的特定包或模組集,你可能需要考慮從Python 2.6 非程式設計師教程學習。但是,Python 2 和 3 之間的差異並不特別大,所以如果你學習了其中一種,你應該能夠輕鬆地閱讀為另一種編寫的程式。
你通常會看到你輸入的文字(以粗體顯示)和程式列印到螢幕上的文字的混合,它將看起來像這樣
Halt! Who Goes there? Josh You may pass, Josh
(教程的某些部分尚未轉換為這種格式。由於這是一個維基,你可以在找到它時進行轉換。)
我還會向你介紹程式設計的術語——例如,程式設計通常被稱為編碼或駭客。這不僅有助於你瞭解程式設計師在說什麼,還有助於學習過程。
現在,讓我們開始更重要的事情。為了用 Python 程式設計,你需要 Python 3 軟體。如果你還沒有 Python 軟體,請訪問www.python.org/download並獲取適合你的平臺的版本。下載它,閱讀說明並進行安裝。
對於 Python 程式設計,你需要一個有效的 Python 安裝和一個文字編輯器。Python 自帶一個編輯器,IDLE,它非常不錯,對於初學者來說完全足夠。當你更深入程式設計時,你可能會切換到其他編輯器,比如nano, emacs, vi或其他。
Python 下載頁面是https://python.club.tw/download。最新版本是 Python 3.11.5(截至 2023 年 10 月);Python 2.7 及更早版本將無法使用本教程。下載網站上提供了適用於不同計算機平臺的各種不同的安裝檔案。以下是一些針對最常見作業系統的一些具體說明
你可能很幸運,你的機器上已經安裝了 Python。要在命令列上測試它,請鍵入python3。如果你看到類似於下一節中顯示的內容,那麼你就可以開始了。
IDLE 可能需要單獨安裝,從其自己的包中安裝,例如idle3或作為python-tools.
的一部分。如果你必須安裝 Python,首先嚐試使用作業系統的包管理器或轉到包所在的儲存庫,並獲取 Python 3。Python 3.0 於 2008 年 12 月釋出;所有發行版都應該提供 Python 3,因此你可能不需要從頭開始編譯它。Ubuntu 和 Fedora 確實提供了 Python 3 二進位制包,但它們還不是預設的,因此需要專門安裝它們。
大致來說,以下是在 Unix 中從原始碼編譯 Python 的步驟(如果這些步驟完全沒有意義,你可能需要閱讀另一個關於 *nix 的介紹,比如Linux 簡介)
- 下載 .tgz 檔案(使用你的 Web 瀏覽器從https://python.club.tw/ftp/python/3.7.4/Python-3.7.4.tgz獲取壓縮的 tar 檔案)
- 解壓縮 tar 檔案(輸入你下載它的正確路徑)
$ tar -xvzf ~/Download/Python-3.7.4.tgz ... list of files as they are uncompressed
- 切換到該目錄,並告訴計算機編譯並安裝程式
$ cd Python-3.7/ $ ./configure --prefix=$HOME/python3_install ... lots of output. Watch for error messages here ... $ make ... even more output. Hopefully no error messages ... $ make install
- 將 Python 3 新增到你的路徑。你可以先透過指定完整路徑來測試它。你應該將 $HOME/python3_install/bin 新增到你的 PATH bash 變數中。
$ ~/python3_install/bin/python3 Python 3.7.4 (... size and date information ...) [GCC 9.1.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
上面的命令會將 Python 3 安裝到你的主目錄,這可能就是你想要的,但如果你跳過--prefix=$HOME/python3_install,它將安裝到/usr/local。如果你想使用 IDLE 圖形程式碼編輯器,你需要確保tk和tcl庫及其開發檔案都安裝在系統上。如果你沒有這些庫,你將在make階段收到警告。
從 Mac OS X Tiger(10.4)到 MacOS 12.3,Python 2 的版本預設隨作業系統一起提供,但你需要安裝 Python 3,除非 Mac OS 開始包含 Python 3(透過在命令列終端啟動python3檢查版本)。此外,IDLE(Python 編輯器)可能在標準安裝中缺失。如果你想(重新)安裝 Python,請從Python 下載網站獲取 Mac OS 安裝程式。
下載相應的 Windows 安裝程式(x86 MSI 安裝程式,如果你沒有 64 位 AMD 或 Intel 晶片)。透過雙擊它啟動安裝程式,並按照提示進行操作。
有關更多資訊,請參閱https://docs.python.club.tw/3/using/windows.html#installing-python。
Python 3 也可從 Windows 應用商店獲取,但此版本尚未在本華夏公益教科書中進行測試。
PATH 環境變數是資料夾的列表,它們之間用分號隔開,每當你嘗試透過在命令提示符中鍵入其名稱來執行程式時,Windows 會在這些資料夾中查詢該程式。你可以透過在命令提示符中鍵入以下命令來檢視當前 PATH 的值
echo %PATH%
永久更改環境變數的最簡單方法是在 Windows 中調出內建的環境變數編輯器。在不同版本的 Windows 上,你進入此編輯器的方式略有不同。
在 Windows 8 或 Windows 10 上:按 Windows 鍵,然後鍵入控制面板,找到 Windows 控制面板。開啟控制面板後,選擇“檢視方式:大圖示”,然後點選系統。在彈出的視窗中,點選高階系統設定連結,然後點選環境變數…按鈕。
在 Windows 7 或 Vista 上:點選螢幕左下角的開始按鈕,將滑鼠移至計算機,右鍵點選,然後從彈出選單中選擇屬性。點選高階系統設定連結,然後點選環境變數…按鈕。
配置環境變數編輯器後,無論執行哪個版本的 Windows,操作都相同。在編輯器下半部分的“*系統變數*”下,找到名為PATH的變數。如果有該變數,請選擇它並點選“*編輯...*”。假設你的 Python 根目錄為C:\Python37,將這兩個資料夾新增到你的路徑(並確保分號正確,列表中每個資料夾之間應使用分號分隔)
C:\Python37 C:\Python37\Scripts
注意:如果你想雙擊並從 Windows 資料夾啟動 Python 程式,並且不希望控制檯視窗消失,可以在每個指令碼的底部新增以下程式碼
#stops console from exiting
end_prog = ""
while end_prog != "q":
end_prog = input("type q to quit")
互動模式
[edit | edit source]進入 IDLE(也稱為 Python GUI)。你應該看到一個包含類似以下文字的視窗
Python 3.0 (r30:67503, Dec 29 2008, 21:31:07)
[GCC 4.3.2 20081105 (Red Hat 4.3.2-7)] on linux2
Type "copyright", "credits" or "license()" for more information.
****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************
IDLE 3.0
>>>
>>> 是 Python 用來告訴你正在互動模式下執行的方式。在互動模式下,你輸入的任何內容都會立即執行。嘗試輸入 1+1。Python 將返回 2。互動模式允許你測試和檢視 Python 將執行的操作。如果你需要嘗試新的 Python 語句,可以進入互動模式並測試它們。
建立和執行程式
[edit | edit source]如果你還沒有,請進入 IDLE。在頂部的選單中,選擇“*檔案*”,然後選擇“*新建檔案*”。在出現的新的視窗中,輸入以下內容
print("Hello, World!")
現在儲存程式:從選單中選擇“*檔案*”,然後選擇“*儲存*”。將它儲存為“hello.py”(你可以在任何你想要的資料夾中儲存它)。現在它已儲存,可以運行了。
接下來,透過進入“*執行*”然後“*執行模組*”執行程式(或者如果你使用的是舊版本的 IDLE,請使用“*編輯*”然後“*執行指令碼*”。這將在“*Python Shell*”視窗中輸出 Hello, World!。
有關 IDLE 的更深入介紹,一個帶有螢幕截圖的更長的教程可以在 http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html 找到。
程式檔名
[edit | edit source]嚴格遵守 Python 程式檔名的規則非常有用。否則,某些事情*可能會*意外出現錯誤。這些規則對於程式來說沒有那麼重要,但如果你沒有遵守這些規則,則可能會在模組名稱方面遇到奇怪的問題(模組將在後面討論)。
- 始終使用副檔名儲存程式.py。不要在檔名中新增其他點。
- 僅使用標準字元作為檔名:字母、數字、連字元(-)和下劃線(_).
- 空格(“ ”)不應該使用(使用下劃線代替)。
- 在檔名開頭不要使用除字母以外的任何字元(特別是不要使用數字!)。
- 不要使用“非英語”字元(如å, ɓ, ç, ð, é, õ, ü)作為檔名 - 或者,更好的做法是在程式設計時完全不使用它們。
- 不要使用模組名稱作為檔名(如print.py, math.py, list.py)
從命令列使用 Python
[edit | edit source]如果你不想從命令列使用 Python,你可以選擇使用 IDLE。要進入互動模式,只需輸入 python3 而不帶任何引數。要執行程式,可以使用文字編輯器建立程式(Emacs 有一個不錯的 Python 模式),然後使用 python3 program_name 執行它。
在 *nix 中執行 Python 程式
[edit | edit source]如果你使用的是 Unix(如 Linux、Mac OS 或 BSD),如果你使用 chmod 使程式可執行,並且第一行是
#!/usr/bin/env python3
你可以像執行其他命令一樣,使用 ./hello.py 執行 Python 程式。
在哪裡獲得幫助
[edit | edit source]在你的 Python 之旅中,你可能會遇到困境,無法解決你應該處理的問題。本教程只涵蓋 Python 程式設計的基礎知識,但還有很多其他資訊可供參考。
Python 文件
[edit | edit source]首先,Python 有非常完善的文件。你的計算機上可能已經包含這些文件的副本,這些副本是與 Python 安裝一起提供的
- 由 Guido van Rossum 編寫的官方 Python 3 教程 經常是解決一般問題的良好起點。
- 對於有關標準模組的問題(你將學習這些模組在後面是什麼),Python 3 庫參考 是查詢答案的地方。
- 如果你真的想了解該語言的細節,Python 3 參考手冊 是一個全面的資源,但對於初學者來說非常複雜。
Python 使用者社群
[edit | edit source]還有很多其他的 Python 使用者,他們通常都很樂於助人,願意幫助你。這個非常活躍的使用者社群主要透過郵件列表和新聞組進行組織
- tutor 郵件列表 是供那些想要提問如何使用 Python 語言學習計算機程式設計的人使用。
- python-help 郵件列表 是 python.org 的幫助臺。你可以向一群知識淵博的志願者諮詢所有 Python 問題的答案。
- Python 新聞組 comp.lang.python (Google groups 存檔) 是 Python 一般討論、問題以及社群主要集會點的場所。
- Python wiki 有一份 本地使用者組列表,你可以加入該組的郵件列表並提出問題。你也可以參加使用者組會議。
- LearnPython subreddit 是另一個可以提問初學者級別問題的地方。
為了避免重複造輪子並反覆討論相同的問題,如果你*在聯絡這些列表之前搜尋網路解決方案,人們會非常感謝你*!
線上使用 Python
[edit | edit source]如果你不想下載 Python,或者你使用的是無法下載程式的計算機(如 Chromebook),可以使用眾多可用的線上 Python 編輯器之一。