Vibe Coder

函式、模組、import:看懂輸入輸出就懂整個程式流程

AI 生的程式不是一大坨,而是拆成多個函式。用四個問題就能讀懂任何函式:它叫什麼名字、需要什麼輸入、做了什麼處理、輸出什麼。搭配看懂 import,就能判斷哪些套件要安裝、哪些是 Python 內建。
函式、模組、import:看懂輸入輸出就懂整個程式流程

函式、模組、import:看懂輸入輸出就懂整個程式流程

AI 生的程式不是一大坨寫在一起,而是拆成一個個函式。看懂函式的輸入輸出,就能看懂整個程式的流程;看懂 import,就知道要先安裝哪些套件,程式才跑得起來。

你將學到什麼

四個問題讀懂任何函式

名字、輸入、處理、輸出,回答得出來就是真的懂了。

參數的三種寫法

一般參數、預設值參數、關鍵字參數,看懂呼叫方式的差異。

import 的三種寫法

整包載入、只載入一部分、載入並取別名,各自代表什麼。

套件沒裝怎麼辦

分辨標準函式庫和第三方套件,快速解掉安裝相關的錯誤。

為什麼 Vibe Coder 需要懂函式與 import

AI 把程式拆成多個函式,看懂函式的輸入、做了什麼、輸出什麼,就能看懂整個程式的流程,這是讀 AI 程式碼最有效率的方法。每一個 import 都代表一個相依套件,看懂了才知道要安裝哪一個。想改 AI 函式的行為,也要先看懂參數,才能精確地說要改哪一個。

函式解剖:四個問題讀懂任何函式

def calculate_bmi(weight, height):
    bmi = weight / (height ** 2)
    return round(bmi, 1)

my_bmi = calculate_bmi(60, 1.7)
print(my_bmi)
四個問題讀懂任何函式函式叫什麼名字,代表它在做什麼事。它需要什麼輸入,也就是參數。它做了什麼處理。它輸出什麼,也就是回傳的內容。能回答出這四個問題,就是真的讀懂了。
① 輸入weight, heightcalculate_bmi(60, 1.7)② calculate_bmi()③ 處理:bmi = weight / height²④ 輸出return四捨五入後的 BMI
把函式當成一個黑盒子:輸入什麼、叫什麼名字、做了什麼、輸出什麼。

參數的三種寫法

def greet(name):
    return f"Hello, {name}"

def greet(name, lang="zh"):
    pass

greet(name="Joan", lang="en")
參數種類特徵呼叫方式
一般參數呼叫時必須傳入缺少會直接出錯
預設值參數定義時就給了預設值可以不傳,不傳就用預設值
關鍵字參數呼叫時指名道姓不用記順序,比較不容易傳錯

import 的三種寫法

import os
os.getenv("KEY")

from os import getenv
getenv("KEY")

import pandas as pd
pd.DataFrame()
看到這個代表什麼需要做什麼
import requests載入 requests 套件終端機執行安裝指令
from dotenv import load_dotenv從 dotenv 套件載入特定函式終端機安裝對應套件
import pandas as pd載入 pandas,取別名 pd終端機安裝 pandas
from typing import Optional從標準函式庫載入型別提示不需要安裝,Python 內建

標準函式庫 vs 第三方套件

類別例子需要安裝嗎
標準函式庫os、json、datetime、re、math不需要,Python 內建
第三方套件requests、pandas、openai、fastapi需要,用套件管理工具安裝
套件找不到怎麼解先直接安裝對應套件。有時候套件名稱和 import 名稱不一樣,例如 import dotenv 要安裝的其實是 python-dotenv,import PIL 要安裝的是 Pillow,不確定就直接問 AI。也要確認虛擬環境有沒有啟動,終端機前方沒有出現環境名稱通常就是還沒啟動。

AI 生的函式,四個常見問題

問題怎麼追問 AI
沒有說明文件請 AI 為函式加上說明,交代用途、參數與回傳值
沒有錯誤處理請 AI 加上 try 與 except,處理可能發生的錯誤情況
沒有型別提示請 AI 幫函式的參數和回傳值加上型別提示
函式太長請 AI 判斷能不能拆成幾個更小的函式,每個只做一件事

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

怎麼快速看懂一個陌生的函式?
問自己四個問題:它叫什麼名字、需要什麼輸入、做了什麼處理、輸出什麼。能回答出來就是讀懂了,不需要逐字理解每一行語法。
import 出現代表什麼?
代表程式相依某個套件。如果是第三方套件,例如 requests 或 pandas,就要先安裝好,程式才能正常執行。
遇到 ModuleNotFoundError 怎麼辦?
先確認套件有沒有安裝,注意套件名稱和 import 名稱有時候不一樣。同時要確認虛擬環境是不是已經啟動,這是最常見的疏漏。
要怎麼請 AI 改善函式品質?
直接請 AI 補上說明文件、型別提示、錯誤處理,並問它函式能不能拆成更小的單位。改完之後逐行確認自己看得懂每個新增的部分。