以下是他們的自介
freeCodeCamp 是一個免費學習編程的開發者社區,涵蓋 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等,還有活躍的技術論壇和豐富的社區活動,在你學習編程和找工作時爲你提供建議和幫助。
不管你是前端,後端還是全端,尤其是自學者(aka沒有朋友)
都適用這網站,但目前我以前端為主。
https://www.freecodecamp.org/learn/front-end-development-libraries/
最近有空從頭檢視自己 coding 的基礎
這個系列會有我發現這個網站的小細節及 daily challenge
以 day-num 紀錄,但不會每天更新(也是練習寫文章)
本題重點在於
思考一下
.
.
.
.
.
.
判斷字元是數字還是字母
正則表達式
/[0-9]/ → 判斷是否為數字
/[a-zA-Z]/ → 判斷是否為字母
字元編碼範圍
ch >= '0' && ch <= '9' → 數字
(ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') → 字母
方法 | 語言支援 | 效能 | 可讀性 | 彈性 | 適合場景 |
---|---|---|---|---|---|
Regex | 全語言 | 中 | 中 | 高 | 複雜格式驗證 |
型別轉換 | 全語言 | 高 | 高 | 中 | 一般判斷,快速過濾 |
逐字檢查 | 全語言 | 最高 | 中 | 高 | 大量運算、高效能需求 |
內建函式 | Python 強 / JS 弱 | 高 | 最高 | 低 | 單純數字/文字判斷 |
例外處理 | Python 常見 | 最低 | 高 | 中 | 小規模,直觀程式 |
為什麼避免用正則,效能會高一點?
/[0-9]/.test(ch)
python 有.isdigit()
→ 是否為數字字元.isalpha()
→ 是否為字母.isalnum()
→ 是否為字母或數字
但 isdigit() 的小缺點是它也會把 Unicode 數字(像 "②"、"五")判斷成數字。
而 try: int(ch) 更「嚴格」,只接受真正的阿拉伯數字字元 0–9。
javaScript V.S python
語言 | 方法 | 優點 | 缺點 |
---|---|---|---|
JS | for+charCodeAt |
快、無需正則 | 需記 ASCII 範圍 |
JS | for+isNaN/regex |
好讀 | 效能略低 |
JS | match |
一行搞定 | null 要處理 |
Python | .isdigit() / .isalpha() |
直覺、簡潔 | 不能判斷小數點等特殊數字 |
Python | 列表生成式 | Pythonic,簡短 | 可讀性稍低 |
Python | re.findall |
彈性高 | 效能比直接方法慢 |
我是阿mo,切檸檬加進水裡,把白白的切掉就不會苦了