Python 入門指南 5.0
目錄
Python 為熱門的程式語言之一,中英文學習資源都琳瑯滿目,無論是網路上免費的或是書店裡販賣的書籍,讀者可以找到各式各類的教材,目前中、英文學習資源都很豐富,無論是網路上免費的或是書店裡販賣的書籍,入門書籍方面,惟獨缺少直接帶領讀者學習開發軟體的教材,此亦本書的設計理念,希望藉由帶領讀者開發簡單的應用軟體,以此帶給讀者完整的軟體開發觀念。
本書分成四大部分,每一部分又分成 8 到 21 個單元,以下為學習路徑圖
首先是「基礎學習篇」,「基礎學習篇」的學習目標包括認識 Python 、怎麼處理資料、控制結構、模組化、物件導向及程式文件,這部分累計十三個單元,預計帶領讀者學會寫簡單的 Python 小程式,具備寫小程式的能力之後,就進入接下來的「軟體開發篇」。
「軟體開發篇」的學習目標為開發、測試、除錯及重構,這部分累計八個單元,目的是讓讀者了解完整的軟體開發概念及流程,同時開發往後「GUI篇」及「Brython篇」的計算核心類別 Encrypt ,帶讀者深入了解如何設計類別,此後先進入「GUI篇」,利用標準程式庫的 GUI 模組 Tk 替計算核心設計視窗應用軟體。
「GUI篇」的學習目標為開發 Tk 應用軟體,以開發流程為主,首先介紹利用框架開發常見的 MVC 模式,連帶介紹建立簡單 Tk 程式的概念,接下來改用類別設計 GUI , Encrypt 為 M 的部分, V 的部分為 EncryptView ,而 C 的部分為 EncryptController ,簡單說, M 就是計算核心類別, V 為用 Tk 建立視窗的類別, C 則是負責溝通 M 與 V 的類別。
「Brython篇」緊接在「GUI篇」之後, Brython 是利用 JavaScript 實作的 Python 直譯器,這裡是要把運用計算核心的 Encrypt 類別移植到瀏覽器上,同時延續「GUI篇」結合「基礎學習篇」的內容進一步示範 Python 程式設計方式,「GUI篇」用類別設計圖形介面應用程式,「Brython篇」則是依據瀏覽器的情況,改成用函數設計。
Brython 為網頁客戶端的 Python 直譯器,請先參考以下 Brython 官網的介紹
本書範例及練習放在以下網頁
每一個單元的最後都有「中英文術語對照」、「重點整理」、「問題與討論」及「練習」,其中「練習」在「軟體開發篇」會帶領讀者開發猜數字、擲骰子及鬥獸棋三大類遊戲,到「GUI篇」會把這三大類遊戲移植到 Tk 上,「Brython篇」會把這三大類遊戲變成網路應用程式。
這樣的教學模式,其重點在引導讀者開發簡單的圖形介面程式到簡單的網站,以期讀者能自動自發多做程式練習,所以本書特別適合高中到大一或程式設計的完全新手,至於語言細節或是程式設計的技巧,您可讀完本書最後一個「單元 45 - 下一步」後,再去找尋第二本書到第三本書繼續深入研究 Python 、 Tk 及 Brython ,因此本書是提供給完全初學者的第一本書,而非最後一本書。
電子書版本會隨 Python 版本進行更新,目前介紹的是 Python 版本為 3.11 。
從一開始整理資料、打字、編輯、校稿等等完全由作者獨力進行,計有 60 篇文章,具有 112 個程式範例及 433 個練習,寫書就像開發大型軟體一樣難免會有 bug (怕有不少 bug 說),若您發現本書的任何錯誤,敬請利用以下網頁回報
本書的主要參考資料有
- Index of Python Enhancement Proposals
- The Python Tutorial
- The Python Standard Library
- Beginning Python: From Novice to Professional
- How to Think Like a Computer Scientist: Learning with Python, 2nd Edition (Using Python 2.x)
您不一定要購買這本電子書,若您願意花一點錢購買這份 V5.00 的電子書,感謝您以行動贊助作者持續開發程式語言教材,謝謝您 ^_^
更新資訊
本書全面翻新,「基礎學習篇」擴充到 21 個單元,原本介紹 Django 改為 Brython ,並大幅增加練習數量。
Brython 為網頁客戶端的 Python 直譯器,請先參考以下 Brython 官網的介紹
張凱慶
2023/01/08
- 基礎學習篇
- 單元 1 - 認識 Python 語言
- 單元 2 - 如何執行 Python 程式
- 單元 3 - 資料型態與變數
- 單元 4 - 變數命名規則與縮排
- 單元 5 - 運算式與陳述
- 單元 6 - 選擇
- 單元 7 - 迴圈
- 單元 8 - 例外處理
- 單元 9 - 序列、字典與集合
- 單元 10 - 函數
- 單元 11 - 進一步講指派與相等運算
- 單元 12 - 類別
- 單元 13 - 資料類別、 __init__() 方法與封裝
- 單元 14 - 資料模型、特別屬性與迭代器
- 單元 15 - 繼承與多型
- 單元 16 - 靜態方法與抽象方法
- 單元 17 - 型態標記與檢查資料型態
- 單元 18 - 模組與套件
- 單元 19 - 作用域問題
- 單元 20 - 文件字串
- 單元 21 - 非同步程式設計與認識標準程式庫
- 軟體開發篇
- GUI 篇
- Brython 篇
- 範例程式篇
- Python 入門指南 5.0 - 範例及練習演示
- 練習參考
- e0101.py
- e0102.py
- e0103.py
- e0104.py
- e0105.py
- e0106.py
- e0107.py
- e0108.py
- e0109.py
- e0301.py
- e0302.py
- e0303.py
- e0304.py
- e0305.py
- e0306.py
- e0307.py
- e0308.py
- e0309.py
- e0310.py
- e0401.py
- e0402.py
- e0403.py
- e0404.py
- e0405.py
- e0406.py
- e0407.py
- e0408.py
- e0409.py
- e0410.py
- e0501.py
- e0502.py
- e0503.py
- e0504.py
- e0505.py
- e0506.py
- e0507.py
- e0508.py
- e0509.py
- e0510.py
- e0601.py
- e0602.py
- e0603.py
- e0604.py
- e0605.py
- e0606.py
- e0607.py
- e0608.py
- e0609.py
- e0610.py
- e0611.py
- e0701.py
- e0702.py
- e0703.py
- e0704.py
- e0705.py
- e0706.py
- e0707.py
- e0708.py
- e0709.py
- e0710.py
- e0711.py
- e0801.py
- e0802.py
- e0803.py
- e0804.py
- e0805.py
- e0806.py
- e0807.py
- e0808.py
- e0809.py
- e0810.py
- e0901.py
- e0902.py
- e0903.py
- e0904.py
- e0905.py
- e0906.py
- e0907.py
- e0908.py
- e0909.py
- e0910.py
- e0911.py
- e0912.py
- e0913.py
- e0914.py
- e1001.py
- e1002.py
- e1003.py
- e1004.py
- e1005.py
- e1006.py
- e1007.py
- e1008.py
- e1009.py
- e1010.py
- e1011.py
- e1012.py
- e1013.py
- e1014.py
- e1015.py
- e1016.py
- e1017.py
- e1018.py
- e1101.py
- e1102.py
- e1103.py
- e1104.py
- e1105.py
- e1106.py
- e1107.py
- e1108.py
- e1109.py
- e1110.py
- e1201.py
- e1202.py
- e1203.py
- e1204.py
- e1205.py
- e1206.py
- e1207.py
- e1208.py
- e1209.py
- e1210.py
- e1211.py
- e1301.py
- e1302.py
- e1303.py
- e1304.py
- e1305.py
- e1306.py
- e1307.py
- e1308.py
- e1309.py
- e1310.py
- e1401.py
- e1402.py
- e1403.py
- e1404.py
- e1405.py
- e1406.py
- e1407.py
- e1408.py
- e1409.py
- e1410.py
- e1501.py
- e1502.py
- e1503.py
- e1504.py
- e1505.py
- e1506.py
- e1507.py
- e1508.py
- e1509.py
- e1510.py
- e1601.py
- e1602.py
- e1603.py
- e1604.py
- e1605.py
- e1606.py
- e1607.py
- e1608.py
- e1609.py
- e1610.py
- e1701.py
- e1702.py
- e1703.py
- e1704.py
- e1705.py
- e1706.py
- e1707.py
- e1708.py
- e1709.py
- e1710.py
- e1711.py
- e1712.py
- e1801.py
- e1802.py
- e1803.py
- e1804.py
- e1805.py
- e1806.py
- e1807.py
- e1808.py
- e1809.py
- e1810.py
- e1811.py
- e1812.py
- e1901.py
- e1902.py
- e1903.py
- e1904.py
- e1905.py
- e1906.py
- e1907.py
- e1908.py
- e1909.py
- e1910.py
- e2001.py
- e2002.py
- e2003.py
- e2004.py
- e2005.py
- e2006.py
- e2007.py
- e2008.py
- e2009.py
- e2010.py
- e2011.py
- e2012.py
- e2101.py
- e2102.py
- e2103.py
- e2104.py
- e2105.py
- e2106.py
- e2107.py
- e2108.py
- e2109.py
- e2110.py
- e2201.py
- e2202.py
- e2203.py
- e2204.py
- e2205.py
- e2206.py
- e2207.py
- e2208.py
- e2209.py
- e2210.py
- e2301.py
- e2302.py
- e2303.py
- e2304.py
- e2305.py
- e2306.py
- e2307.py
- e2308.py
- e2309.py
- e2310.py
- e2401.py
- e2402.py
- e2403.py
- e2404.py
- e2405.py
- e2406.py
- e2407.py
- e2408.py
- e2409.py
- e2410.py
- e2501.py
- e2502.py
- e2503.py
- e2504.py
- e2505.py
- e2506.py
- e2507.py
- e2508.py
- e2509.py
- e2510.py
- e2601.py
- e2602.py
- e2603.py
- e2604.py
- e2605.py
- e2606.py
- e2607.py
- e2608.py
- e2609.py
- e2610.py
- e2611.py
- e2701.py
- e2702.py
- e2703.py
- e2704.py
- e2705.py
- e2706.py
- e2707.py
- e2708.py
- e2709.py
- e2710.py
- e2801.py
- e2802.py
- e2803.py
- e2804.py
- e2805.py
- e2806.py
- e2807.py
- e2808.py
- e2809.py
- e2810.py
- e2811.py
- e2901.py
- e2902.py
- e2903.py
- e2904.py
- e2905.py
- e2906.py
- e2907.py
- e2908.py
- e2909.py
- e2910.py
- e3101.py
- e3102.py
- e3103.py
- e3104.py
- e3105.py
- e3106.py
- e3107.py
- e3108.py
- e3109.py
- e3110.py
- e3201.py
- e3202.py
- e3203.py
- e3204.py
- e3205.py
- e3206.py
- e3207.py
- e3208.py
- e3209.py
- e3210.py
- e3301.py
- e3302.py
- e3303.py
- e3304.py
- e3305.py
- e3306.py
- e3307.py
- e3308.py
- e3309.py
- e3310.py
- e3401.py
- e3402.py
- e3403.py
- e3404.py
- e3405.py
- e3406.py
- e3407.py
- e3408.py
- e3409.py
- e3410.py
- e3501.py
- e3502.py
- e3503.py
- e3504.py
- e3505.py
- e3506.py
- e3507.py
- e3508.py
- e3509.py
- e3510.py
- e3601.py
- e3602.py
- e3603.py
- e3604.py
- e3605.py
- e3606.py
- e3607.py
- e3608.py
- e3609.py
- e3610.py
- e3801.html
- e3802.html
- e3803.html
- e3804.html
- e3805.html
- e3806.html
- e3807.html
- e3808.html
- e3809.html
- e3810.html
- e3901.html
- e3902.html
- e3903.html
- e3904.html
- e3905.html
- e3906.html
- e3907.html
- e3908.html
- e3909.html
- e3910.html
- e4001.html
- e4002.html
- e4003.html
- e4004.html
- e4005.html
- e4006.html
- e4007.html
- e4008.html
- e4009.html
- e4010.html
- e4101.html
- e4102.html
- e4103.html
- e4104.html
- e4105.html
- e4106.html
- e4107.html
- e4108.html
- e4109.html
- e4110.html
- e4201.css
- e4202.html
- e4203.html
- e4204.html
- e4205.html
- e4206.html
- e4207.html
- e4208.html
- e4209.html
- e4210.html
- e4301.py
- e4302.py
- e4303.py
- e4304.py
- e4305.py
- e4306.py
- e4307.py
- e4308.py
- e4309.py
- e4310.py
- e4401.py
- e4402.py
- e4403.py
- e4404.py
- e4405.py
- e4406.py
- e4407.py
- e4408.py
- e4409.py
- e4410.py