Python 程式設計基石:基礎概念與實戰應用全攻略
袁葆宏、袁儀齡
相關主題
商品描述
Everything is an Object!
真正從零開始,為你打下扎實的基礎能力!
本書將 Python 配合程式設計做一系統性說明,因此將內容分為了 4 個章節,分別是:程式設計基礎概念、 Python 基本概念及資料型態、程式敘述及模組化程式設計。
第一章程式設計基礎概念,說明程式學習的重要性及相關基本概念。第二章開始,圍繞著 Python 萬物皆物件的觀念,說明 Python 的基本概念及相關的基本資料型態及操作,其中特別針對 container、iterable 及 sequence 等相關資料型態及操作做深入的探討。第三章程式敘述分別以 simple statement(簡單敘述)與 compound statement(複合敘述)對 Python 在模組化程式設計時所會使用的程式敘述做系統性的說明。在第四章中,對 Python 所提供的模組化程式架構,如 function(函數)及 module(模組)等相關文法及機制進行說明及探討。
為了使讀者能夠掌握模組化設計的完整能力,本書特別就作業系統中檔案相關的概念及 Python 對於文字檔案的存取做基本的介紹及 Python 所提供的 type hint。最後提供多個實際的範例說明如何進行有效的模組化程式設計。
本書特色
。內文盡量以原文呈現重要專業名詞,期望提升讀者對專業知識及相關文獻的理解。
。各章節中使用 Python Shell 以各種面向提供大量的操作實例,並針對同一題目提供多種設計方式及說明其優缺點,強調「做中學」的重要性。
對於初學者而言,程式設計能力的訓練應分階段逐步進行:基本邏輯設計、結構化程式設計、模組化程式設計、物件程式設計及物件導向程式設計。每一個階段,在學習過程中都扮演著承上啟下的關鍵角色。若不切實際地追求速成,最終將無法理解專業領域的核心知識,難以有所成就。因此,本書希望讓首次學習 Python 的學生和業界人士能夠掌握 Python 語言及相關的專業技能。
※本書範例檔,請至博碩官網下載
作者簡介
袁葆宏
國防大學資訊管理學系專任副教授
臺灣科技大學電子工程學系計算機組博士
袁儀齡
讀過幾年書,塵世中一個迷途工程師
目錄大綱
第一章 程式設計基礎概念
1.1 為何要學習程式設計?
1.1.1 了解資訊相關技術
1.1.2 應用系統的使用
1.1.3 進階學習的基礎
1.2 程式語言基本概念
1.2.1 什麼是程式及程式語言
1.2.2 程式語言的分類
1.2.3 高階程式語言的執行方式
1.3 程式的開發及執行方式
1.3.1 電腦執行程式的過程
1.3.2 程式的錯誤型態
1.3.3 程式設計的學習階段及目標
1.4 Python 程式語言介紹
1.4.1 Python 執行平台的實作方式
1.5 執行 Python
1.5.1 執行環境設定
1.5.2 執行方式
1.6 Python 輸入及輸出
1.7 結論
第二章 Python 基本概念及資料型態
2.1 Python 程式基本元素
2.1.1 Lexical Analysis(詞法分析)
2.1.2 Identifier(識別字)
2.1.3 Keyword(關鍵字)
2.1.4 Variable(變數)
2.1.5 Value(值)與 Literal(定值)
2.2 Python 的基本資料型態及操作
2.2.1 為什麼需要資料型態?
2.2.2 Python 內建的資料型態
2.2.3 數值資料型態:int、float
2.2.4 Expression(運算式)的計算
2.2.5 Assignment Statement(指定敘述)
2.2.6 String(字串)
2.2.7 String Expression 及相關運算
2.2.8 Boolean(布林)資料型態
2.2.9 NoneType(虛無資料型態)
2.2.10 再談 String
2.2.11 Format String(格式字串)
2.3 Container(容器)
2.3.1 List(串列)及 Tuple(序組)
2.3.2 Dictionary(字典)、Set(集合)與Frozenset(固定集合)
2.3.3 Shallow Copy 與 Deep Copy
2.3.4 再談 iterable 資料型態
2.3.5 Sequence(序列)資料型態
2.4 再談 Assignment Statement
2.4.1 Sequence Assignment(序列設定)
2.4.2 Extended Sequence Unpacking
2.4.3 Unpacking Operator
2.4.4 再談 Short-Circuit Evaluation
2.5 結論
第三章 Program Statement(程式敘述)
3.1 Simple Statement(簡單敘述)
3.1.1 Assignment Statement(設定敘述)
3.1.2 Augmented Assignment Statement(擴充設定敘述)
3.1.3 Del Statement(刪除敘述)
3.1.4 Pass Statement
3.1.5 Assert Statement(斷言敘述)
3.2 Compound Statement(複合敘述)
3.2.1 Block Indentation(區塊縮排)
3.3 Selection Logic(選擇性邏輯)
3.3.1 If Statement
3.3.2 If 常見錯誤
3.3.3 Conditional Expression(條件運算式)
3.3.4 If Statement 與 Walrus Operator
3.4 Looping Logic(迴圈邏輯)
3.4.1 While Statement
3.4.2 For Statement
3.4.3 Looping Logic 與 Walrus Operator
3.5 Break 與 Continue Statement
3.5.1 Break Statement
3.5.2 Continue Statement
3.5.3 Looping Else
3.6 Block 與 Scope
3.7 Comprehension
3.7.1 List Comprehension
3.7.2 Dictionary Comprehension
3.7.3 Set Comprehension
3.7.4 Comprehension 與 Scope
3.8 Match Statement
3.8.1 Pattern(模式)
3.8.2 Pattern 綜合應用
3.9 Try Statement 與 Exception
3.9.1 Exception(例外)
3.9.2 Try Statement
3.9.3 AS,為 Exception 命名
3.9.4 Try-Else Statement
3.9.5 Try-Finally Statement
3.9.6 Raise Statement
3.9.7 Exception 實例
3.10 結論
4.1 程式語言 Function vs. 數學函數
4.2 Function 的種類
4.2.1 Built-in Function
4.2.2 Third-Party Function
4.3 Function 定義與使用
4.3.1 Function 的命名方式
4.3.2 Def Statement 產生 Function Object
4.3.3 如何執行 Function
4.3.4 Name Binding(名稱綁定)
4.3.5 Function 程式寫作規範
4.3.6 Caller(呼叫端)及 Callee(被呼叫端)
4.3.7 Return Statement
4.3.8 Parameter 及傳回值
4.3.9 Function Parameter 相關機制
4.3.10 Function 與 Exception
4.4 Scope(生命範圍)與 Name Resolution(名稱解析)
4.4.1 Global Scope(全域)與 Local Scope(區域)
4.4.2 Name Resolution(名稱解析)
4.4.3 Scope 對程式的影響
4.4.4 Global 與 Nonlocal
4.5 Recursive Function(遞迴函數)
4.6 Lambda Function
4.7 Module(模組)及 Package(包裹)
4.7.1 Module 與 Import(導入)
4.7.2 Import 的工作機制
4.7.3 Package 與 Import
4.8 Text File Input∕Output(文字檔案輸入∕輸出)
4.8.1 File Path(檔案路徑)
4.8.2 open() 及 close()
4.8.3 Text File Input(文字檔案輸入)
4.8.4 File Pointer(檔案指標)的管理
4.8.5 Text File Output(文字檔案輸出)
4.8.6 I/O Buffer(緩衝區)及 Flush(清空)
4.8.7 文字檔案輸出時的 '+' 模式
4.8.8 With Statement
4.9 模組化程式設計
4.9.1 Top-Down Programming(由上而下的程式設計)
4.9.2 一個加法程式
4.9.3 找出功能單元
4.9.4 Function 設計要點
4.9.5 Caller 與 Callee 的互動設計
4.9.6 Command-Line Argument(命令列參數)
4.9.7 Docstring(功能單元註解)
4.9.8 Type Hint(資料型態提示)
4.9.9 Function 實例設計
4.10 結論