🏭 第三課:控制閥與品管局
學會了基本工具,今天廠長要來設計機台的「設定面板」!
看懂 Pydantic、Class 藍圖與 Valves 控制閥的完美組合。
這段程式碼在 AI 代理系統中非常常見,它是用來建立「使用者設定介面」的核心基石。我們將一行一行拆解它!
class Valves(BaseModel):
nickname: str = "xxxxx"
valves = Valves()
valves.nickname # 結果會顯示 'xxxxx'
Pydantic 與 BaseModel
廠長要設計一個給客人填資料的設定面板,但怕客人亂填(要求填文字,客人卻填數字 123),導致後面的機器當機。
於是他引進了 Pydantic (嚴格的國家品管局) 的一套 BaseModel (標準安全表單)。只要用這套表單設計面板,品管局就會自動幫你檢查格式!
工廠災難現場:ValidationError
如果沒有 Pydantic,客人填錯格式,毒包裹會直接送進產線引發大爆炸。有了 BaseModel,如果客人亂填,品管局會在門口直接響起警報 ValidationError 退回包裹,保護工廠安全!
# 🏭 從 (from) 品管局 (pydantic) # 🚚 引進 (import) 標準安全表單 (BaseModel) from pydantic import BaseModel
畫一張叫 Valves 的圖紙
class 是畫藍圖。Valves 是「設定面板」。
括號 (BaseModel) 代表這張藍圖是「以品管局的表單為基礎來畫的」,自帶防呆檢查功能!
廠長秘訣:為何不用普通字典?
用 Class 畫藍圖最大的好處是「有說明書」!未來你在寫程式時,只要打出 valves.,編輯器就會自動跳出 nickname 讓你選,不怕拼錯字!
面板按鈕與出廠預設
在藍圖裡,廠長設計了一個叫 nickname 的輸入框。
: str 規定這裡只能填純文字!
= "xxxxx" 設定框框的出廠預設值是 xxxxx。
nickname: str = "xxxxx"
1. 造出實體面板 (大小寫不同)
藍圖只是紙上談兵。
Valves() (大寫並加上啟動按鈕) 代表:工廠照著藍圖,造出了一塊實體設定面板!
valves = (小寫) 是把這塊面板貼上變數貼紙。
工廠災難現場:忘記加括號
如果你寫成 valves = Valves (沒有括號),你只是「把紙本藍圖傳給別人」,並沒有造出實體機器!後面要讀取數值時就會大崩潰!
2. 讀取面板設定值
valves.nickname 中間的 . 代表「查看專屬屬性」。就像廠長湊近看面板上 nickname 標籤顯示的文字。
# 🔨 根據藍圖 Valves() 造出實體 # 並把它賦值給變數 valves (小寫) valves = Valves() # 👁️ 廠長上前查看實體面板上的 nickname valves.nickname # 🖨️ 此時畫面上會輸出出廠預設值: 'xxxxx'