本書共14章,從Python語言的語法特性開始,介紹了Python的安裝和配置、數據類型及表達式、流程控制、序列和字典、文件處理、函數等,由淺入深,循序漸進,逐步引入高級話題,包括面向對象編程、模塊和包、異常處理、圖形界面編程、數據庫編程、網絡套接字編程、多線程和多進程編程、Web開發等。 李力,男,1982年生,本科學歷,畢業于西南大學計算機應用專業,研究方向為虛擬化技術與云計算,具有多年服務器和數據中心運維經驗,發表有十余篇學術論文,目前為重慶電子工程職業學院計算機學院云計算專業骨干教師。 項目1??Python語言概述及安裝、配置(1)
1.1??任務1??認識Python語言(1)
1.1.1??Python的起源和發展前景(1)
1.1.2??Python的優缺點(2)
1.1.3??Python與云計算(5)
1.2??任務2??下載和安裝Python(6)
1.2.1??Python版本差異(6)
1.2.2??Python虛擬機簡介(6)
1.2.3??下載Python(7)
1.2.4??在Windows環境下安裝Python(8)
1.2.5??在Windows下配置Python環境(8)
1.2.6??在Linux/UNIX下使用Python源代碼安裝Python(9)
1.3??任務3??使用開發工具(11)
1.3.1??使用交互式解釋器(11)
1.3.2??使用文本編輯器(11)
1.3.3??使用集成開發環境(12)
1.3.4??使用Python增強工具(12)
1.4??任務4??獲取幫助和查看文檔(13)
1.4.1??查看特定對象的可用操作(13)
1.4.2??文檔字符串(14)
1.4.3??使用幫助函數(14)
1.4.4??使用文檔(14)
1.5??小結(14)
1.6??習題(15)
項目2??數據類型、運算符和用戶交互(16)
2.1??任務1??掌握Python數據類型(16)
2.1.1??基本數據類型(16)
2.1.2??容器數據類型(17)
2.2??任務2??掌握運算符及其優先級(18)
2.2.1??運算符(18)
2.2.2??運算符的優先級(21)
2.3??任務3??了解Python代碼的規范性要求(21)
2.3.1??合法的變量名(22)
2.3.2??轉義字符(22)
2.3.3??編寫注釋(23)
2.3.4??單行多語句與單句跨行(23)
2.4??任務4??程序設計:手機屏幕PPI測算器(24)
2.4.1??程序功能設計與分析(24)
2.4.2??數學運算與math模塊(24)
2.5??任務5??初步了解Python中的對象和工廠函數(25)
2.5.1??不可變對象(25)
2.5.2??可變對象(26)
2.6??任務6??了解Python程序的交互方法(26)
2.6.1??input()函數(26)
2.6.2??raw_input()函數(27)
2.6.3??print語句的特性(27)
2.6.4??格式化輸出(28)
2.6.5??任務:輸出員工信息表(29)
2.7??小結(30)
2.8??習題(30)
項目3??流程控制(31)
3.1??任務1??了解語句塊和程序流程圖(31)
3.1.1??語句塊與縮進(31)
3.1.2??程序流程圖(32)
3.2??任務2??掌握分支結構(32)
3.2.1??單條件分支結構(33)
3.2.2??多條件分支結構(33)
3.2.3??嵌套的分支結構(34)
3.2.4??單句多條件和短路邏輯(36)
3.2.5??多個if語句塊(36)
3.2.6??if語句的三目運算形式(37)
3.3??任務3??掌握循環結構(37)
3.3.1??while語句(37)
3.3.2??break語句(39)
3.3.3??continue語句(40)
3.3.4??循環結構中的else語句(40)
3.3.5??pass語句(41)
3.4??掌握高級循環:for循環、推導式及生成器(42)
3.4.1??for循環(42)
3.4.2??列表推導式(43)
3.4.3??生成器(44)
3.5??小結(46)
3.6??習題(46)
項目4??容器數據類型:序列、映射和集合(47)
4.1??任務1??了解序列類型(47)
4.1.1??容器數據類型簡介(47)
4.1.2??列表和元祖(48)
4.1.3??序列的索引和切片操作(48)
4.1.4??列表常用方法(50)
4.1.5??列表和數據結構(50)
4.1.6??可變對象的復制(51)
4.1.7??元組(53)
4.1.8??工廠函數(54)
4.2??任務2??了解字符串(54)
4.2.1??字符串簡介(54)
4.2.2??字符串常用方法(55)
4.2.3??方法和函數的連續調用(56)
4.3??任務3??了解字符編碼(57)
4.3.1??Python代碼中的編碼(57)
4.3.2??外部數據編碼(58)
4.4??任務4??了解字典(58)
4.4.1??字典簡介(58)
4.4.2??字典的創建和訪問(59)
4.4.3??鍵必須是可哈希的(60)
4.4.4??字典相關方法(61)
4.4.5??子任務:員工信息系統(61)
4.5??任務5??了解集合(63)
4.5.1??集合簡介(63)
4.5.2??可變集合和不可變集合(64)
4.6??小結(65)
4.7??習題(65)
項目5??文件操作及系統交互(66)
5.1??任務1??認識文件對象(66)
5.1.1??文件的打開(66)
5.1.2??文件的讀取(67)
5.1.3??文件指針操作(68)
5.1.4??文件的寫入(68)
5.1.5??文件和編碼(69)
5.1.6??文件的緩沖(69)
5.2??任務2??掌握文件和目錄的管理(71)
5.2.1??文件的復制(71)
5.2.2??文件的刪除(71)
5.2.3??文件的屬性獲取(72)
5.2.4??文件的重命名(72)
5.2.5??目錄的創建(74)
5.2.6??目錄的刪除(75)
5.2.7??顯示和改變當前目錄(76)
5.2.8??運行系統命令(76)
5.2.9??帶有參數的源代碼腳本執行方式(77)
5.2.10??子任務:文本替換程序(77)
5.3??任務3??掌握時間和日期的處理(78)
5.3.1??時間戳及時間元組(78)
5.3.2??格式化時間和日期(79)
5.3.3??程序運行時間控制(80)
5.3.4??日期的置換(80)
5.3.5??日期和時間的差值計算(81)
5.4??任務4??了解序列化(82)
5.4.1??序列化和反序列化(82)
5.4.2??JSON和JSON化(83)
5.5??任務5??基于文件存儲的用戶賬戶登錄功能(83)
5.5.1??程序功能設計(84)
5.5.2??程序實現(84)
5.6??小結(86)
5.7??習題(86)
項目6??函數(87)
6.1??任務1??掌握函數的定義和調用(87)
6.1.1??函數的定義和調用(87)
6.1.2??函數對象賦值(89)
6.1.3??位置參數(89)
6.1.4??關鍵字參數(90)
6.1.5??默認參數(90)
6.1.6??可變參數和關鍵字收集器(92)
6.1.7??參數組(93)
6.2??任務2??了解函數的高級特性和功能(93)
6.2.1??作用域和名稱空間(93)
6.2.2??在函數中操作全局變量(95)
6.2.3??匿名函數(95)
6.2.4??用函數實現生成器(96)
6.2.5??子任務:重新實現file.xreadlines()(97)
6.2.6??遞歸函數(97)
6.2.7??函數閉包(99)
6.2.8??裝飾器(99)
6.3??任務3??認識函數式編程(101)
6.3.1??什么是函數式編程(101)
6.3.2??map()(102)
6.3.3??reduce()(103)
6.3.4??filter()(104)
6.3.5??sorted()(105)
6.3.6??其他相關函數(106)
6.4??小結(106)
6.5??習題(107)
項目7??面向對象編程(108)
7.1??任務1??了解什么是面向對象編程(108)
7.1.1??面向對象思想(108)
7.1.2??對象和類(109)
7.1.3??封裝(109)
7.2??任務2??掌握類和實例的語法規則(110)
7.2.1??類和對象的創建(110)
7.2.2??類的構造方法(110)
7.2.3??類方法及self參數(111)
7.2.4??類和對象的屬性(111)
7.2.5??為實例添加屬性和方法(111)
7.2.6??靜態方法(112)
7.2.7??靜態屬性(114)
7.2.8??私有字段(114)
7.2.9??私有方法(115)
7.2.10??嵌套類(116)
7.2.11??對象的銷毀與回收(117)
7.3??任務3??掌握類的繼承和派生(117)
7.3.1??父類和子類(118)
7.3.2??繼承(118)
7.3.3??覆蓋方法(119)
7.3.4??多重繼承(119)
7.3.5??鉆石問題(120)
7.3.6??新式類(121)
7.4??任務4??了解類的其他特性和功能(123)
7.4.1??抽象類和抽象方法(124)
7.4.2??動態定義類(124)
7.4.3??運算符重載(125)
7.5??小結(126)
7.6??習題(127)
項目8??模塊和程序打包(128)
8.1??任務1??熟悉模塊的概念和用法(128)
8.1.1??定義模塊(128)
8.1.2??導入模塊(129)
8.1.3??導入和加載(129)
8.1.4??模塊文件和關鍵變量(129)
8.1.5??模塊的別名(130)
8.1.6??反射(131)
8.2??任務2??熟悉包的概念和用法(132)
8.2.1??如何使用包(132)
8.2.2??搜索路徑與環境變量(133)
8.2.3??名稱空間(133)
8.3??任務3??熟悉標準庫的查詢和幫助(134)
8.4??任務4??了解標準庫常用的包和模塊(135)
8.4.1??Python增強(135)
8.4.2??系統互動(135)
8.4.3??網絡(136)
8.5??任務5??模塊化程序設計:用戶賬戶登錄(總體設計)(137)
8.5.1??設計目標(137)
8.5.2??程序結構(137)
8.6??任務6??模塊:驗證碼生成和校驗(實現)(138)
8.6.1??什么是驗證碼(138)
8.6.2??隨機數:random模塊(139)
8.6.3??驗證碼功能的實現(139)
8.7??任務7??模塊:創建新賬戶(實現)(140)
8.7.1??創建新賬戶的關鍵步驟(140)
8.7.2??輸入字符時遮蓋內容(140)
8.7.3??信息加密:hashlib模塊(141)
8.7.4??創建新賬戶的實現(142)
8.8??任務8??模塊:賬戶鎖定和密碼核對(實現)(143)
8.8.1??為什么要鎖定賬戶(143)
8.8.2??鎖定賬戶的實現(144)
8.8.3??密碼核對模塊的實現(145)
8.9??任務9??模塊:用戶登錄系統主程序(實現)(146)
8.9.1??用戶登錄過程中的關鍵步驟(146)
8.9.2??主程序的實現(146)
8.10??任務10??程序打包和部署(148)
8.10.1??使用dinstutils打包(148)
8.10.2??使用Pyinstaller創建可執行文件(149)
8.11??小結(150)
8.12??習題(151)
項目9??異常處理(152)
9.1??任務1??了解什么是異常(152)
9.1.1??異常和錯誤(152)
9.1.2??為什么要使用異常處理機制(153)
9.2??任務2??掌握異常的檢測和處理(153)
9.2.1??常見的異常類型(153)
9.2.2??處理異常(154)
9.2.3??else子句(155)
9.2.4??處理多個異常(156)
9.2.5??在單except語句里處理多個異常(157)
9.2.6??獲取異常發
內容簡介:
本書共14章,從Python語言的語法特性開始,介紹了Python的安裝和配置、數據類型及表達式、流程控制、序列和字典、文件處理、函數等,由淺入深,循序漸進,逐步引入高級話題,包括面向對象編程、模塊和包、異常處理、圖形界面編程、數據庫編程、網絡套接字編程、多線程和多進程編程、Web開發等。
作者簡介:
李力,男,1982年生,本科學歷,畢業于西南大學計算機應用專業,研究方向為虛擬化技術與云計算,具有多年服務器和數據中心運維經驗,發表有十余篇學術論文,目前為重慶電子工程職業學院計算機學院云計算專業骨干教師。
目錄:
項目1??Python語言概述及安裝、配置(1)
1.1??任務1??認識Python語言(1)
1.1.1??Python的起源和發展前景(1)
1.1.2??Python的優缺點(2)
1.1.3??Python與云計算(5)
1.2??任務2??下載和安裝Python(6)
1.2.1??Python版本差異(6)
1.2.2??Python虛擬機簡介(6)
1.2.3??下載Python(7)
1.2.4??在Windows環境下安裝Python(8)
1.2.5??在Windows下配置Python環境(8)
1.2.6??在Linux/UNIX下使用Python源代碼安裝Python(9)
1.3??任務3??使用開發工具(11)
1.3.1??使用交互式解釋器(11)
1.3.2??使用文本編輯器(11)
1.3.3??使用集成開發環境(12)
1.3.4??使用Python增強工具(12)
1.4??任務4??獲取幫助和查看文檔(13)
1.4.1??查看特定對象的可用操作(13)
1.4.2??文檔字符串(14)
1.4.3??使用幫助函數(14)
1.4.4??使用文檔(14)
1.5??小結(14)
1.6??習題(15)
項目2??數據類型、運算符和用戶交互(16)
2.1??任務1??掌握Python數據類型(16)
2.1.1??基本數據類型(16)
2.1.2??容器數據類型(17)
2.2??任務2??掌握運算符及其優先級(18)
2.2.1??運算符(18)
2.2.2??運算符的優先級(21)
2.3??任務3??了解Python代碼的規范性要求(21)
2.3.1??合法的變量名(22)
2.3.2??轉義字符(22)
2.3.3??編寫注釋(23)
2.3.4??單行多語句與單句跨行(23)
2.4??任務4??程序設計:手機屏幕PPI測算器(24)
2.4.1??程序功能設計與分析(24)
2.4.2??數學運算與math模塊(24)
2.5??任務5??初步了解Python中的對象和工廠函數(25)
2.5.1??不可變對象(25)
2.5.2??可變對象(26)
2.6??任務6??了解Python程序的交互方法(26)
2.6.1??input()函數(26)
2.6.2??raw_input()函數(27)
2.6.3??print語句的特性(27)
2.6.4??格式化輸出(28)
2.6.5??任務:輸出員工信息表(29)
2.7??小結(30)
2.8??習題(30)
項目3??流程控制(31)
3.1??任務1??了解語句塊和程序流程圖(31)
3.1.1??語句塊與縮進(31)
3.1.2??程序流程圖(32)
3.2??任務2??掌握分支結構(32)
3.2.1??單條件分支結構(33)
3.2.2??多條件分支結構(33)
3.2.3??嵌套的分支結構(34)
3.2.4??單句多條件和短路邏輯(36)
3.2.5??多個if語句塊(36)
3.2.6??if語句的三目運算形式(37)
3.3??任務3??掌握循環結構(37)
3.3.1??while語句(37)
3.3.2??break語句(39)
3.3.3??continue語句(40)
3.3.4??循環結構中的else語句(40)
3.3.5??pass語句(41)
3.4??掌握高級循環:for循環、推導式及生成器(42)
3.4.1??for循環(42)
3.4.2??列表推導式(43)
3.4.3??生成器(44)
3.5??小結(46)
3.6??習題(46)
項目4??容器數據類型:序列、映射和集合(47)
4.1??任務1??了解序列類型(47)
4.1.1??容器數據類型簡介(47)
4.1.2??列表和元祖(48)
4.1.3??序列的索引和切片操作(48)
4.1.4??列表常用方法(50)
4.1.5??列表和數據結構(50)
4.1.6??可變對象的復制(51)
4.1.7??元組(53)
4.1.8??工廠函數(54)
4.2??任務2??了解字符串(54)
4.2.1??字符串簡介(54)
4.2.2??字符串常用方法(55)
4.2.3??方法和函數的連續調用(56)
4.3??任務3??了解字符編碼(57)
4.3.1??Python代碼中的編碼(57)
4.3.2??外部數據編碼(58)
4.4??任務4??了解字典(58)
4.4.1??字典簡介(58)
4.4.2??字典的創建和訪問(59)
4.4.3??鍵必須是可哈希的(60)
4.4.4??字典相關方法(61)
4.4.5??子任務:員工信息系統(61)
4.5??任務5??了解集合(63)
4.5.1??集合簡介(63)
4.5.2??可變集合和不可變集合(64)
4.6??小結(65)
4.7??習題(65)
項目5??文件操作及系統交互(66)
5.1??任務1??認識文件對象(66)
5.1.1??文件的打開(66)
5.1.2??文件的讀取(67)
5.1.3??文件指針操作(68)
5.1.4??文件的寫入(68)
5.1.5??文件和編碼(69)
5.1.6??文件的緩沖(69)
5.2??任務2??掌握文件和目錄的管理(71)
5.2.1??文件的復制(71)
5.2.2??文件的刪除(71)
5.2.3??文件的屬性獲取(72)
5.2.4??文件的重命名(72)
5.2.5??目錄的創建(74)
5.2.6??目錄的刪除(75)
5.2.7??顯示和改變當前目錄(76)
5.2.8??運行系統命令(76)
5.2.9??帶有參數的源代碼腳本執行方式(77)
5.2.10??子任務:文本替換程序(77)
5.3??任務3??掌握時間和日期的處理(78)
5.3.1??時間戳及時間元組(78)
5.3.2??格式化時間和日期(79)
5.3.3??程序運行時間控制(80)
5.3.4??日期的置換(80)
5.3.5??日期和時間的差值計算(81)
5.4??任務4??了解序列化(82)
5.4.1??序列化和反序列化(82)
5.4.2??JSON和JSON化(83)
5.5??任務5??基于文件存儲的用戶賬戶登錄功能(83)
5.5.1??程序功能設計(84)
5.5.2??程序實現(84)
5.6??小結(86)
5.7??習題(86)
項目6??函數(87)
6.1??任務1??掌握函數的定義和調用(87)
6.1.1??函數的定義和調用(87)
6.1.2??函數對象賦值(89)
6.1.3??位置參數(89)
6.1.4??關鍵字參數(90)
6.1.5??默認參數(90)
6.1.6??可變參數和關鍵字收集器(92)
6.1.7??參數組(93)
6.2??任務2??了解函數的高級特性和功能(93)
6.2.1??作用域和名稱空間(93)
6.2.2??在函數中操作全局變量(95)
6.2.3??匿名函數(95)
6.2.4??用函數實現生成器(96)
6.2.5??子任務:重新實現file.xreadlines()(97)
6.2.6??遞歸函數(97)
6.2.7??函數閉包(99)
6.2.8??裝飾器(99)
6.3??任務3??認識函數式編程(101)
6.3.1??什么是函數式編程(101)
6.3.2??map()(102)
6.3.3??reduce()(103)
6.3.4??filter()(104)
6.3.5??sorted()(105)
6.3.6??其他相關函數(106)
6.4??小結(106)
6.5??習題(107)
項目7??面向對象編程(108)
7.1??任務1??了解什么是面向對象編程(108)
7.1.1??面向對象思想(108)
7.1.2??對象和類(109)
7.1.3??封裝(109)
7.2??任務2??掌握類和實例的語法規則(110)
7.2.1??類和對象的創建(110)
7.2.2??類的構造方法(110)
7.2.3??類方法及self參數(111)
7.2.4??類和對象的屬性(111)
7.2.5??為實例添加屬性和方法(111)
7.2.6??靜態方法(112)
7.2.7??靜態屬性(114)
7.2.8??私有字段(114)
7.2.9??私有方法(115)
7.2.10??嵌套類(116)
7.2.11??對象的銷毀與回收(117)
7.3??任務3??掌握類的繼承和派生(117)
7.3.1??父類和子類(118)
7.3.2??繼承(118)
7.3.3??覆蓋方法(119)
7.3.4??多重繼承(119)
7.3.5??鉆石問題(120)
7.3.6??新式類(121)
7.4??任務4??了解類的其他特性和功能(123)
7.4.1??抽象類和抽象方法(124)
7.4.2??動態定義類(124)
7.4.3??運算符重載(125)
7.5??小結(126)
7.6??習題(127)
項目8??模塊和程序打包(128)
8.1??任務1??熟悉模塊的概念和用法(128)
8.1.1??定義模塊(128)
8.1.2??導入模塊(129)
8.1.3??導入和加載(129)
8.1.4??模塊文件和關鍵變量(129)
8.1.5??模塊的別名(130)
8.1.6??反射(131)
8.2??任務2??熟悉包的概念和用法(132)
8.2.1??如何使用包(132)
8.2.2??搜索路徑與環境變量(133)
8.2.3??名稱空間(133)
8.3??任務3??熟悉標準庫的查詢和幫助(134)
8.4??任務4??了解標準庫常用的包和模塊(135)
8.4.1??Python增強(135)
8.4.2??系統互動(135)
8.4.3??網絡(136)
8.5??任務5??模塊化程序設計:用戶賬戶登錄(總體設計)(137)
8.5.1??設計目標(137)
8.5.2??程序結構(137)
8.6??任務6??模塊:驗證碼生成和校驗(實現)(138)
8.6.1??什么是驗證碼(138)
8.6.2??隨機數:random模塊(139)
8.6.3??驗證碼功能的實現(139)
8.7??任務7??模塊:創建新賬戶(實現)(140)
8.7.1??創建新賬戶的關鍵步驟(140)
8.7.2??輸入字符時遮蓋內容(140)
8.7.3??信息加密:hashlib模塊(141)
8.7.4??創建新賬戶的實現(142)
8.8??任務8??模塊:賬戶鎖定和密碼核對(實現)(143)
8.8.1??為什么要鎖定賬戶(143)
8.8.2??鎖定賬戶的實現(144)
8.8.3??密碼核對模塊的實現(145)
8.9??任務9??模塊:用戶登錄系統主程序(實現)(146)
8.9.1??用戶登錄過程中的關鍵步驟(146)
8.9.2??主程序的實現(146)
8.10??任務10??程序打包和部署(148)
8.10.1??使用dinstutils打包(148)
8.10.2??使用Pyinstaller創建可執行文件(149)
8.11??小結(150)
8.12??習題(151)
項目9??異常處理(152)
9.1??任務1??了解什么是異常(152)
9.1.1??異常和錯誤(152)
9.1.2??為什么要使用異常處理機制(153)
9.2??任務2??掌握異常的檢測和處理(153)
9.2.1??常見的異常類型(153)
9.2.2??處理異常(154)
9.2.3??else子句(155)
9.2.4??處理多個異常(156)
9.2.5??在單except語句里處理多個異常(157)
9.2.6??獲取異常發