Python 新手速查手冊

從第一行 print
到物件導向。

8 頁掌握 Python 核心語法:語法簡單、功能強大,從簡單運算到 AI 系統都能處理。

資料分析機器學習網站開發遊戲開發
語法
簡單

接近自然語言,好讀好寫

功能
強大

彈性處理各類問題

涵蓋
7 大主題

變數到類別一次看完

環境設定與 print

裝好工具,
跑出第一個結果。

  • 安裝 Python:Windows 務必勾選 Add Python to PATH
  • 編輯器 PyCharm:新手選免費的 Community 版
  • Windows 一路按 Next;Mac 將圖示拖進 Applications
  • New Project 建立專案,按 Run,結果顯示在下方視窗
  • 縮放字體:Ctrl/Cmd + 滑鼠滾輪(需先在設定開啟)
# 輸出訊息到畫面
print("Xin chào tất cả mọi người")

# 安裝外部套件(在 Terminal)
pip install requests
變數、型態、輸入

變數命名三條規則。

  • 不以數字開頭:age_1 對,1st_age 錯
  • 不含空格:用 my_age 或 myAge
  • 區分大小寫:age 與 Age 是兩個變數
  • / 一律得 float;// 取整數商;round() 四捨五入
型態說明範例
int整數26
float小數22.5
str字串"Minh"
name = "Minh"
age = 18
print(type(age))       # <class 'int'>
print(16000 // 30)     # 533
print(f"{name}, {age} 歲")

year = int(input("出生年:"))
陷阱
input() 取得的資料一律是字串,運算前要用 int() 或 float() 轉型。
布林與條件判斷

讓程式自己做決定。

  • 布林只有 True、False,not 可反轉
  • 比較:> < == !=;單個 = 是賦值
  • and 全部為真才為真;or 有一個為真即為真
  • 縮排決定區塊,漏掉會出現 IndentationError
  • .upper() 統一大小寫,避免 'a' 與 'A' 判斷失準
choice = input("A: 牛排 / B: 豬排:").upper()

if choice == "A":
    print("牛排 500k")
elif choice == "B":
    print("豬排 450k")
else:
    print("選擇無效!")
List 與 Tuple

一個變數,裝下一整組資料。

  • 索引從 0 開始,-1 是最後一個
  • 切片 [start:end] 不含 end;字串同樣適用
  • 新增 append/extend;刪除 remove/pop
  • 查詢 in、index()、len()
List [ ]Tuple ( )
修改可新增、修改、刪除不可變
強行修改成功TypeError
s = ["Minh", "Hoa", "Kiệt", "Linh"]
print(s[0], s[-1])   # Minh Linh
print(s[1:3])        # ['Hoa', 'Kiệt']
s.append("An")
s.pop(0)
print("Hoa" in s)    # True

"/".join(["01", "05"])  # '01/05'
"01/05".split("/")      # ['01', '05']
for 與 while

讓重複的事自動完成。

  • for 逐一走訪清單或字串,可巢狀組合
  • break 結束整個迴圈;continue 跳過本輪
  • 累加 +=、累乘 *=;abs() 取絕對值
  • range(start, stop, step) 產生數字序列
無限迴圈
while True 必須搭配 if ... break,或在條件中更新計數器。
for item in ["麵包", "三明治", "漢堡"]:
    if item == "三明治":
        continue
    print(item)

for n in range(5, 10, 2):
    print(n)          # 5 7 9

count = 1
while count <= 5:
    count += 1
函式與變數範圍

寫一次,重複使用。

  • def 定義後要呼叫才會執行
  • 位置參數依順序;關鍵字參數 name=值 不受順序限制
  • 預設值:沒傳就用預設,有傳則覆蓋
  • return 回傳並立即結束函式;沒寫則得 None;多值回傳為 Tuple
變數位置範圍
區域函式內僅函式內
全域函式外整個檔案
def calc_total(price, shipping=50):
    return price + shipping

print(calc_total(1000))              # 1050
print(calc_total(1000, shipping=80)) # 1080

def divide(a, b):
    return a // b, a % b  # Tuple

# 函式內升級為全域變數
global total
字典、模組、類別

整理資料,擴充能力。

  • Dictionary {}:Key 唯一,Value 可為任何型態
  • d[key] 找不到會報錯,d.get(key, 提示) 較安全
  • 走訪用 keys()、values()、items()
  • 模組:import x、import x as y、from x import f
  • 常用:random、string、requests(呼叫 API)
  • 類別:__init__ 初始化,self 代表自己,class B(A) 繼承
phone = {"品牌": "Apple", "型號": "iPhone 14"}
for k, v in phone.items():
    print(f"{k}: {v}")

class Character:
    def __init__(self, name):
        self.name = name
        self.hp = 500

class Warrior(Character):
    def attack(self):
        print(f"{self.name} 發動攻擊!")

Warrior("Knight").attack()