歡迎來到 Python 編程世界!
在之前的章節中,你已經學習過算法(Algorithms)和流程圖(Flowcharts)——它們就像是程式的「藍圖」。現在,是時候學習 Python 了,這就是我們用來構建那些程式的語言。Python 以其簡潔易讀、寫起來幾乎像英文一樣而聞名!如果覺得內容太多,別擔心;我們會一步一步慢慢來。
1. 儲存資訊:變數(Variables)與字面值(Literals)
電腦在處理數據之前,需要一個地方來存放它們。你可以把 變數 (Variable) 想像成一個貼了標籤的儲存盒。你可以將數值放入盒子中,並透過標籤在之後找到它。
字面值 (Literal) 則是放入盒中的實際數值。例如,在程式碼 score = 10 中,score 是變數,而 10 則是字面值。
為你的「盒子」命名(識別碼/Identifiers)
命名變數時,請記住以下規則:
- 必須以字母(a-z, A-Z)或底線(_)開頭。
- 可以包含數字,但不能以數字開頭。
- Python 是區分大小寫的: Score 和 score 是兩個不同的盒子!
快速回顧: 當你想儲存隨時會變動或以後需要用到的數值時,請使用 變數;當你想在程式碼中直接使用某個數值時,則使用 字面值。
2. 與電腦對話:輸入與輸出(Input and Output)
如果程式能與使用者「對話」,它的用處會更大。
- print(): 將資訊輸出到螢幕上。例如:print("Hello!")
- input(): 暫停程式,等待使用者在鍵盤上輸入內容。
常見錯誤: 使用者透過 input() 函數輸入的一切內容都會被視為 字串 (String)(文字)。如果你想把它當作數字使用,必須使用 int() 或 float() 進行轉換。
3. 數據類型:數字與邏輯(Data Types)
Python 需要知道處理的是哪種「類型」的數據,才能正確進行計算。
數字
- int: 整數(例如:5, -10, 100)。
- float: 小數(例如:3.14, -0.5)。
算術運算子(Arithmetic Operators)
Python 像計算機一樣可以進行數學運算:
- + , - , * , / : 基本數學運算。
- // (整除/Floor Division): 除法後無條件捨去至最接近的整數。
- % (模數/Modulo): 取得除法後的 餘數。(檢查數字是奇數還是偶數非常有用!)
- ** (指數/Exponentiation): 乘冪運算(例如:\( 2^{3} \) 寫作 2 ** 3)。
布林值與邏輯(Booleans and Logic)
布林值 (Boolean) 只有 True(真)或 False(假)兩種。我們使用邏輯運算子來結合它們:
- and: 只有兩邊都為真,結果才為真。
- or: 只要其中一邊為真,結果即為真。
- not: 反轉布林值(真變假,假變真)。
重點提示: 計算數量時使用 int,進行體重或身高測量時使用 float。
4. 處理文字:字串(Strings)
字串 (String) 是引號內的一連串字元。想像成一串珠子,每一顆珠子都是一個字母或符號。
字串小技巧
- 串接 (+): 將字串黏在一起。如 "Hello" + " " + "World"。
- 重複 (*): 重複字串。如 "Ha" * 3 會變成 "HaHaHa"。
- 索引 (Indexing): 尋找特定位置的字元。關鍵: Python 從 0 開始算起!如 "Python"[0] 會得到 "P"。
- 切片 (Slicing): 擷取一段文字。如 "Python"[0:2] 會得到 "Py"。
字串檢查方法
Python 內建了幾個測試字串的方法:
- .isdigit(): 字串全為數字嗎?
- .isalpha(): 字串全為字母嗎?
- .isupper() / .islower(): 全為大寫或小寫嗎?
你知道嗎? 你可以使用 ord('A') 找出字元的 ASCII 值,並使用 chr(65) 將數字轉換回對應的字元。
5. 組織數據:列表與字典(Lists and Dictionaries)
有時候你需要將多項資訊存放在一起。
列表 (Lists)
列表 (List) 是一組有序的項目集合(像購物清單)。使用中括號:fruits = ["apple", "banana", "cherry"]。
- len(fruits): 告訴你列表中有多少項目。
- min() / max(): 找出列表中的最小值或最大值。
- sum(): 將列表中的所有數字相加。
- in: 檢查項目是否存在於列表中(例如:"apple" in fruits)。
字典 (Dictionaries)
字典 (Dictionary) 的運作方式就像現實中的字典或通訊錄。它使用 鍵 (Keys) 和 值 (Values) 來儲存。例如:student = {"name": "Ali", "age": 16}。要取得名字,你可以存取 student["name"]。
重點提示: 當項目的順序很重要時,請使用 列表;當你想為數據命名以便輕鬆查找時,請使用 字典。
6. 決策:選擇結構(Selection)
電腦透過 選擇結構 (if 語句) 來做決定。這就像在道路分岔口做選擇。
if (條件):
# 如果條件為真,執行此處
elif (另一個條件):
# 如果第一個條件為假,且此條件為真,執行此處
else:
# 如果上述條件皆不成立,執行此處
記憶小幫手: 千萬記得在 if 這一行的最後加上 冒號 (:),並且要將下方的程式碼 縮排 (indent)!
7. 重複執行:迭代(Iteration)
迭代 (Iteration / Loops) 讓你可以重複執行程式碼,而不必重複輸入。
- for 迴圈: 當你知道要重複多少次時使用(例如:for i in range(5):)。
- while 迴圈: 當你想一直重複 直到 某個情況改變時使用(例如:while lives > 0:)。
8. 函數:迷你程式(Functions)
函數 (Function) 是一段執行特定任務的程式碼塊。你需要時可以隨時「呼叫」它。
def greet(name):
return "Hello " + name
- 參數 (Parameters): 你傳給函數的資訊(即 name)。
- 回傳值 (Return value): 函數執行後給你的「答案」。
區域變數與全域變數
想像 全域 (Global) 變數是一個公共公園——程式中的每個人都能看到並使用它。而 區域 (Local) 變數則像函數內部的私人後院——只有該特定函數才知道它的存在。
9. 檔案處理(Handling Files)
為了永久儲存數據,我們使用檔案。這就像打開櫃子、閱讀文件夾,然後再關上櫃子一樣。
- open(): 準備好檔案。(使用 "r" 讀取或 "w" 寫入)。
- read() / readline() / write(): 執行讀寫工作。
- close(): 完成後請務必關閉檔案以儲存你的工作!
快速回顧: 使用 with 關鍵字(例如:with open(...) as f:)是處理檔案最安全的方法,因為它會自動為你關閉檔案!
10. 使用額外工具:匯入(Import)
Python 有稱為模組 (Modules) 的「工具箱」,你可以借用它們。要使用它們,請使用 import 指令。
- import math: 提供如 math.sqrt()(平方根)和 math.ceil()(無條件進位)等工具。
- import random: 提供 random.randint(1, 10) 來產生隨機數字。
鼓勵一下: 編程就像彈奏樂器一樣,是一種技能。如果程式第一次執行不成功,別擔心——偵錯(Debugging)才是真正學習的過程!