分類彙整: Python 學習園地

匯集每節溫習重點、程式範例、課後練習及延伸學習活動,協助學員鞏固課堂所學,持續提升 Python 程式設計與資料庫應用能力。包括:
1. 延伸閱讀與工具官方文件、開發工具介紹及補充知識
2. 程式範例與練習範例程式、練習題、除錯任務及資料庫操作示例
3. 課外學習活動、小型編程挑戰、自主研習及協作活動
4. 每節溫習重點按第 1 至第 20 節整理重點、常見錯誤及自我檢查問題

Python 為什麼值得學?Python 主要應用有那些?

近年來,隨著人工智慧的興起,Python 成為最受歡迎的程式語言之一。它以簡單、易學且功能強大著稱,廣泛應用於網站開發、大數據分析、機器學習等領域。

許多人學會 Python 基礎後,卻不清楚如何應用。事實上,Python 的應用範圍非常廣泛,能協助解決各種實際問題,因此成為熱門的入門程式語言。

應用一、將枯燥乏味的事情自動化

重複性的檔案處理工作既耗時又容易出錯,而 Python 能透過自動化程式快速完成這些任務,提升效率。

例如:

  • 批次管理檔案與資料夾
  • 擷取網頁資料及下載內容
  • 處理與美化 Excel 試算表
  • 分割、合併或加密 PDF 檔案
  • 自動寄送電子郵件與簡訊
  • 自動填寫表單等例行工作

Python用途
圖片來源:Hahow 圖庫

應用二、隨時追蹤比特幣(Bitcoin)的市場價格

比特幣等加密貨幣近年來備受關注,而 Python 可用來即時追蹤虛擬貨幣市場資料。對初學者而言,建立加密貨幣追蹤程式是一個實用的練習專案。

除了比特幣外,亦可應用於以太幣、NFT 等各類數位資產的資料監控與分析。

應用三、分析社群網站的數據

隨著網路快速發展,資料量大幅增加,資料分析與資料科學也愈來愈重要。透過分析人們在網路上的行為與討論內容,可以發現各種趨勢與模式。

例如,Twitter 是重要的資料來源之一。利用 Tweepy 擷取推文、TextBlob 分析情緒、Elasticsearch 分析內容,再透過 Kibana 視覺化呈現,就能從大量資料中找出有價值的資訊並解答問題。

應用四、玩 Pygame,設計屬於自己的遊戲

Python 可用來開發各種遊戲,如小蜜蜂、棋類和乒乓球等。Pygame 提供完整的圖形與聲音功能,不僅免費開源,還有豐富的社群資源,是學習遊戲開發的理想工具。

應用五、建立一個簡易的區塊鏈

區塊鏈最初應用於金融科技,如今已擴展到房地產、醫療等領域。透過實作區塊鏈,可以深入了解其運作原理與交易機制。

使用 Python 搭配 HTTP、Requests 和 Flask 等工具,即可建立並透過網路操作區塊鏈系統。學會後,便能將區塊鏈技術應用到自己感興趣的領域。

應用六、人工智慧與機器學習

機器學習是人工智慧的重要基礎,透過分析大量資料來學習模式,並廣泛應用於人臉與語音辨識等領域。Python 提供 scikit-learn 與 TensorFlow 等工具,方便初學者與進階開發者學習及實作機器學習,而 Python 也因此成為 AI 時代的重要程式語言。

Python: 捕捉 5500 萬光年外的黑洞:數據處理核心 NumPy 與 SciPy

科學背景

2019 年,事件視界望遠鏡(EHT)合作計畫公佈了人類歷史上首張位於 M87 星系中央的「黑洞照片」。這個計畫集合了全球 8 個地面射電望遠鏡,每天產生高達數 PB(1 PB = 1024 TB)的龐大天文觀測數據。由於數據量太過龐大,根本無法透過網路傳輸,當時甚至必須將硬碟實體空運到數據中心。

Python 的核心角色

天文學家凱蒂·鮑曼(Katie Bouman)與其團隊為了把這些殘缺、混有大量雜訊的原始波段數據,還原成人類肉眼可見的照片,開發了關鍵的影像重建演算法(CHIRP)。而整個龐大數據管線(Data Pipeline)的核心,就是採用 Python 編寫的。

為什麼是 Python?

雖然 Python 本身的純運算速度不如 C++ 或 Fortran,但它擁有極其強大的科學計算生態圈:

  • NumPy:底層由 C 語言編寫,能以極快速度進行矩陣與多維陣列的數學運算。
  • SciPy:提供了頂級的訊號處理與影像重建演算法。
  • Matplotlib:用於將天文數據視覺化成像。

天文學家利用 Python 撰寫高階控制邏輯,底層則調用 C 語言編寫的高效能計算庫。這種「開發極快、效能極高」的混血特性,讓 Python 成為當今大數據、AI 人工智慧與頂尖科學研究的第一首選語言。

 

(資料來源: Wikipedia. s.v. “Black hole.” 2026年6月22日檢索.https://en.wikipedia.org/wiki/Black_hole.)

Python: 優雅的變數交換:a, b = b, a 的底層元組拆包機制

傳統語言的「暫存變數」

在大多數程式語言中,如果你想把變數 a(值為 5)和變數 b(值為 10)的內容互相交換,你不能直接寫 a = b; b = a(這樣 a 變成 10 後,b = a 就會讓 b 也變成 10,原本 5 的資料就遺失了)。因此你必須引進第三個臨時暫存變數 temp:

C

int temp = a;

a = b;

b = temp;

Python 的一行搞定

在 Python 中,你只需要一行魔法般的代碼:

Python

a, b = b, a

底層運作原理(Tuple Unpacking)

這並不是語法糖那麼簡單,Python 在底層其實運用了元組(Tuple)的封裝與拆包機制:

  1. 右側封裝(Packing):Python 會先將等號右邊的 b, a 放入記憶體中,自動打包成一個無名的元組 (b, a)。此時裡面的值已經被固定下來(例如 (10, 5))。
  2. 左側拆包(Unpacking):接著,Python 會把這個元組內的位置,依序指派給等號左邊的變數 a 和 b。
    由於這個過程是在同一個指令週期中透過 CPython 解譯器內部一次性完成,因此完全不需要工程師手動去寫暫存變數,不僅程式碼極其優雅,執行效率也非常好。

Python 的簡潔與彩疍-最速 Hello World:內建神祕彩蛋 import __hello__

傳統語言的繁瑣

在很多語言中,要印出經典的 “Hello, World!” 需要寫好幾行複雜的結構。以 Java 為例,你必須先宣告類別、定義主函數,才能執行:

java

public class Main {

    public static void main(String[] args) {

        System.out.println(“Hello, World!”);

    }

}

Python 的簡潔與彩蛋

Python 本身就已經非常簡潔,只需要一行 print(“Hello World!”) 即可。但官方核心開發團隊為了展現幽默感,在底層凍結模組(Frozen Modules)中直接內置了一個彩蛋。

當你在 Python 終端機輸入:

python

import __hello__

系統會直接在螢幕上吐出 Hello World!。

進階冷知識

這個彩蛋其實有兩個版本!在早期的 Python 版本中,如果你輸入 import __pypackages__ 或是特定未公開模組,有時會觸發不同的好玩訊息。而在 Python 3.11 之後的版本中,官方甚至對這個內建彩蛋進行了代碼重構與底層優化,讓這個「沒什麼實際用途、單純博君一笑」的彩蛋,執行速度變得比以前更快、效率更高。

Python: 捨棄傳統花括號:強制「縮排」的語法革命

捨棄傳統花括號:強制「縮排」的語法革命

傳統語言的作法

在 C, C++, Java, JavaScript, C# 等絕大多數傳統程式語言中,程式碼的結構區塊(例如 if 判斷式、for 迴圈)都是用花括號 {} 來包覆的。例如:

// JavaScript 範例

if (score > 60) {

    console.log(“及格”);

}

在這些語言中,程式碼前面的空格(縮排)純粹是為了給人類閱讀方便,不論你縮排幾格、甚至把所有程式碼寫在同一行,電腦都讀得懂。這導致常有工程師因為排版混亂,引發難以排查的邏輯 Bug。

Python 的作法

吉多認為「代碼被閱讀的次數,遠比被編寫的次數還要多」。因此 Python 大膽移除了花括號,改用強制縮排(Indentation)來定義程式碼區塊。

# Python 範例

if score > 60:

    print(“及格”)  # 這行必須縮排,否則直接報錯

技術規範與影響

在 Python 中,縮排是語法的一部分。如果縮排不一致,系統會直接拋出 IndentationError 錯誤拒絕執行。官方推薦的規範(PEP 8)是每次縮排使用 4 個空格。這個設計強迫所有人在撰寫代碼時必須保持整潔,大大提升了開源專案與大型團隊協作時的代碼可讀性。

Python: 隱藏的程式碼哲學:輸入 import this 解鎖「Python 之禪」

運作原理

如果你打開任何一個 Python 的執行環境(REPL 終端機或 Jupyter Notebook),輸入 import this 並按下 Enter,螢幕上就會印出一首名為《Python 之禪》(The Zen of Python)的哲學詩。

背後故事

這首詩並非吉多本人所寫,而是由 Python 社群的核心貢獻者蒂姆·彼得斯(Tim Peters)在 1999 年撰寫的。他將吉多對語言設計的根本理念,濃縮成 19 條指導原則。這不僅僅是好玩,它更是 Python 官方社群在審查新功能(PEP 提案)時的最高指導技術準則。

(資料來源: Wikipedia. s.v. “Zen of Python.” 2026年6月18日檢索. https://en.wikipedia.org/wiki/Zen_of_Python.)

核心金句解析

  • “Beautiful is better than ugly.”(優美勝於醜陋):程式碼不僅要能跑,排版與邏輯還要像藝術品一樣好看。
  • “Explicit is better than implicit.”(明瞭勝於晦暗):程式碼要做什麼應該清清楚楚寫出來,不要搞隱晦的魔法或讓系統在背後偷偷猜測。
  • “There should be one– and preferably only one –obvious way to do it.”(做一件事應該只有一種,而且最好只有一種明顯的方法):這與 Perl 語言「條條大路通羅馬(TMTOWTDI)」的哲學完全相反。Python 追求讓不同工程師寫同一個功能時,寫出來的代碼高度相似,進而降低團隊合作的閱讀成本。
(資料來源: Wikipedia. s.v. “Zen of Python.” 2026年6月18日檢索. https://en.wikipedia.org/wiki/Zen_of_Python.)

有趣的是,這段《Python 之禪》在源碼裡其實是用一種簡單的 ROT13(字母位移 13 位)加密法儲存的,當你執行 import this 時,它才會在記憶體中解密並顯示出來!

Python : 名字由來並非蟒蛇:源自 1970 年代英國神劇

歷史背景

Python 的創始人吉多·范羅蘇姆(Guido van Rossum)在 1989 年 12 月的聖誕節假期期間,因為辦公室放假覺得太無聊,決定開發一門新的腳本語言,作為當時他參與開發的 ABC 語言的繼承者。

(資料來源:Wikipedia. s.v. “Guido van Rossum.” 2026年6月15日檢索. wikipedia.org.)

命名由來

當時他正在觀看英國 BBC 經典超現實幽默喜劇《蒙提·派森的飛行馬戲團》(Monty Python’s Flying Circus)。吉多非常喜歡這部劇,他希望這門新語言的名字能夠具備「短小、獨特、且帶有一點神秘感」的特質,於是就隨手抓了 Python 這個字來命名。

(資料來源: IMDb. “Monty Python’s Flying Circus (TV Series 1969–1974).” 2026年6月15日檢索. imdb.com.)

後續演變

雖然名字跟動物無關,但這個名字實在太像蟒蛇了。隨後社群在設計官方標誌(Logo)時,還是採用了兩條互相纏繞的青藍色與黃色蟒蛇。時至今日,Python 社群也常用蛇類術語來命名工具,例如 Python 的套件庫索引叫做 PyPI(全稱 Python Package Index),其俗稱就叫 The Cheese Shop(這同樣是該喜劇中一個著名的經典笑話梗)。

(資料來源:Wikipedia, s.v. “Python (programming language).” 2026年6月15日檢索. wikipedia.org.)

Google Colab: 免安裝寫Python

免安裝!5分鐘用 Google Colab

開始寫程式不想在電腦安裝軟體嗎?

沒問題!Google Colab 是一款免費的線上程式瀏覽器環境。只要有 Google 帳號,你就能直接在網頁上編寫並執行 Python。

為什麼推薦 Google Colab?

零設定:打開網頁就能直接寫程式。完全免費:不消耗自己電腦的效能。雲端儲存:程式碼自動儲存到 Google 雲端硬碟。方便分享:一鍵就能把程式碼分享給朋友或老師。

Google Colab 快速上手四步驟:

[步驟 1] 登入雲端硬碟 ➔ [步驟 2] 新建 Colab 檔案 ➔ [步驟 3] 建立程式碼儲存格 ➔ [步驟 4] 按下執行

[步驟 1] 進入雲端硬碟打開你的 Google 雲端硬碟。

[步驟 2]新增 Colab 檔案點擊左上角的 「新增」 ➔ 選擇 「更多」 ➔ 點選 「Google Collaboratory」。

[步驟 3]工作區你會看到一個乾淨的頁面。頁面中一個格子叫做 「儲存格 (Cell)」。這就是你寫程式碼的地方。

[步驟 4]寫下第一行程式並執行請在儲存格內輸入以下程式碼:print(“Hello! 這是我的第一個網頁 Python 程式!”)

輸入完成後,點擊儲存格左側的 「▶️ 執行」按鈕(或按下快捷鍵 Ctrl + Enter),下方就會立即顯示執行結果!