🏭 第三課:控制閥與品管局

學會了基本工具,今天廠長要來設計機台的「設定面板」!
看懂 Pydantic、Class 藍圖與 Valves 控制閥的完美組合。

📸 本次任務目標:看懂這段面板代碼

這段程式碼在 AI 代理系統中非常常見,它是用來建立「使用者設定介面」的核心基石。我們將一行一行拆解它!

from pydantic import BaseModel

class Valves(BaseModel):
    nickname: str = "xxxxx"

valves = Valves()
valves.nickname # 結果會顯示 'xxxxx'
🕵️ 第一站:引進嚴格品管局 (Pydantic)
🏷️ 資料驗證套件 (Pydantic)

Pydantic 與 BaseModel

廠長要設計一個給客人填資料的設定面板,但怕客人亂填(要求填文字,客人卻填數字 123),導致後面的機器當機。

於是他引進了 Pydantic (嚴格的國家品管局) 的一套 BaseModel (標準安全表單)。只要用這套表單設計面板,品管局就會自動幫你檢查格式!

工廠災難現場:ValidationError

如果沒有 Pydantic,客人填錯格式,毒包裹會直接送進產線引發大爆炸。有了 BaseModel,如果客人亂填,品管局會在門口直接響起警報 ValidationError 退回包裹,保護工廠安全!

# 🏭 從 (from) 品管局 (pydantic) 
# 🚚 引進 (import) 標準安全表單 (BaseModel)
from pydantic import BaseModel
                            
📐 第二站:畫出控制閥藍圖 (Class Valves)
🏷️ 類別繼承 (Class)

畫一張叫 Valves 的圖紙

class 是畫藍圖。Valves 是「設定面板」。
括號 (BaseModel) 代表這張藍圖是「以品管局的表單為基礎來畫的」,自帶防呆檢查功能!

廠長秘訣:為何不用普通字典?

用 Class 畫藍圖最大的好處是「有說明書」!未來你在寫程式時,只要打出 valves.,編輯器就會自動跳出 nickname 讓你選,不怕拼錯字!

class Valves(BaseModel):
🏷️ 型別提示與預設值

面板按鈕與出廠預設

在藍圖裡,廠長設計了一個叫 nickname 的輸入框。
: str 規定這裡只能填純文字
= "xxxxx" 設定框框的出廠預設值是 xxxxx。

    # 欄位名稱 : 型別限制 = 預設值
    nickname: str = "xxxxx"
⚙️ 第三站:打造實體機台與讀取數值
🏷️ 實例化與屬性存取

1. 造出實體面板 (大小寫不同)

藍圖只是紙上談兵。
Valves() (大寫並加上啟動按鈕) 代表:工廠照著藍圖,造出了一塊實體設定面板!
valves = (小寫) 是把這塊面板貼上變數貼紙。

工廠災難現場:忘記加括號

如果你寫成 valves = Valves (沒有括號),你只是「把紙本藍圖傳給別人」,並沒有造出實體機器!後面要讀取數值時就會大崩潰!

2. 讀取面板設定值

valves.nickname 中間的 . 代表「查看專屬屬性」。就像廠長湊近看面板上 nickname 標籤顯示的文字。

# 🔨 根據藍圖 Valves() 造出實體
# 並把它賦值給變數 valves (小寫)
valves = Valves()

# 👁️ 廠長上前查看實體面板上的 nickname
valves.nickname

# 🖨️ 此時畫面上會輸出出廠預設值:
'xxxxx'