發表於2024-11-05
全書共12章,除瞭介紹Python編碼規範,運算符、錶達式與內置對象,Python序列結構,程序控製結構,函數,麵嚮對象程序設計,字符串,正則錶達式,文件內容操作,異常處理結構,以及SQLite數據庫應用開發和tkinter編程精彩案例等知識之外,更重要的是提供瞭62道例題和730道練習題,尤其適閤備考全國計算機等級考試二級Python模塊的考生,以及需要大量練習題來鞏固所學知識的Python愛好者。
本書全部代碼適用於Python 3.5、Python 3.6以及更高版本。
目錄
第1章Python概述1
1.1Python是這樣一種語言1
1.2Python版本之爭1
1.3Python編程規範與代碼優化建議2
1.4Anaconda3開發環境的安裝與使用3
1.5安裝擴展庫的幾種方法5
1.6標準庫與擴展庫中對象的導入與使用6
1.6.1import 模塊名 [as 彆名]6
1.6.2from模塊名import對象名[as彆名]6
1.6.3from 模塊名 import��7
本章小結7
習題8
第2章運算符、錶達式與內置對象9
2.1Python常用內置對象9
2.1.1常量與變量10
2.1.2數字11
2.1.3字符串與字節串12
2.1.4列錶、元組、字典、集閤13
2.2Python運算符與錶達式14
2.2.1算術運算符15
2.2.2關係運算符17
2.2.3成員測試運算符in與同一性測試運算符is18
2.2.4位運算符與集閤運算符18
2.2.5邏輯運算符19
2.2.6補充說明20
2.3Python關鍵字簡要說明20
2.4Python常用內置函數用法精要22
2.4.1類型轉換與類型判斷24
2.4.2最值與求和27
2.4.3基本輸入輸齣29
〖1〗〖2〗玩轉Python輕鬆過二級〖1〗目錄〖2〗2.4.4排序與逆序30
2.4.5枚舉30
2.4.6map()、reduce()、filter()31
2.4.7range()33
2.4.8zip()33
2.4.9eval()34
2.5精彩案例賞析34
本章小結35
習題36
第3章詳解Python序列結構39
3.1列錶: 打瞭激素的數組39
3.1.1列錶創建與刪除40
3.1.2列錶元素訪問41
3.1.3列錶常用方法41
3.1.4列錶對象支持的運算符45
3.1.5內置函數對列錶的操作46
3.1.6列錶推導式語法與應用案例47
3.1.7切片操作的強大功能51
3.2元組: 輕量級列錶53
3.2.1元組創建與元素訪問53
3.2.2元組與列錶的異同點54
3.2.3生成器推導式55
3.3字典: 反映對應關係的映射類型56
3.3.1字典創建與刪除56
3.3.2字典元素的訪問56
3.3.3元素的添加、修改與刪除58
3.4集閤: 元素之間不允許重復59
3.4.1集閤對象的創建與刪除59
3.4.2集閤操作與運算60
3.4.3集閤應用案例61
3.5序列解包的多種形式和用法64
本章小結65
習題65
第4章程序控製結構76
4.1條件錶達式76
4.2選擇結構78
4.2.1單分支選擇結構78
4.2.2雙分支選擇結構79
4.2.3多分支選擇結構80
4.2.4選擇結構的嵌套81
4.3循環結構82
4.3.1for循環與while循環82
4.3.2break與continue語句83
4.4精彩案例賞析84
本章小結87
習題87
第5章函數90
5.1函數定義與使用90
5.1.1基本語法90
5.1.2函數嵌套定義、可調用對象與修飾器92
5.1.3函數遞歸調用94
5.2函數參數95
5.2.1位置參數97
5.2.2默認值參數97
5.2.3關鍵參數99
5.2.4可變長度參數99
5.2.5傳遞參數時的序列解包100
5.3變量作用域101
5.4lambda錶達式103
5.5精彩案例賞析104
本章小結117
習題118
第6章麵嚮對象程序設計122
6.1類的定義與使用122
6.2數據成員與成員方法123
6.2.1私有成員與公有成員123
6.2.2數據成員124
6.2.3成員方法、類方法、靜態方法125
6.2.4屬性127
6.3繼承、多態129
6.3.1繼承129
6.3.2多態130
6.4特殊方法與運算符重載131
6.5精彩案例賞析133
6.5.1自定義隊列133
6.5.2自定義棧136
本章小結139
習題139
第7章字符串142
7.1字符串編碼格式簡介143
7.2轉義字符與原始字符串144
7.3字符串格式化145
7.3.1使用%符號進行格式化145
7.3.2使用format()方法進行字符串格式化146
7.3.3格式化的字符串常量147
7.4字符串常用操作147
7.4.1find()、rfind()、index()、rindex()、count()147
7.4.2split()、rsplit()、partition()、rpartition()148
7.4.3join()150
7.4.4lower()、upper()、capitalize()、title()、swapcase()150
7.4.5replace()、maketrans()、translate()150
7.4.6strip()、rstrip()、lstrip()151
7.4.7startswith()、endswith()152
7.4.8isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、
isspace()、isupper()、islower()152
7.4.9center()、ljust()、rjust()、zfill()153
7.4.10字符串對象支持的運算符153
7.4.11適用於字符串對象的內置函數155
7.4.12字符串對象的切片操作156
7.5字符串常量156
7.6中英文分詞157
7.7漢字到拼音的轉換158
7.8精彩案例賞析158
本章小結161
習題161
第8章正則錶達式166
8.1正則錶達式語法166
8.1.1正則錶達式基本語法166
8.1.2正則錶達式擴展語法167
8.1.3正則錶達式集錦168
8.2直接使用正則錶達式模塊re處理字符串169
8.3match對象173
8.4精彩案例賞析173
本章小結175
習題175
第9章文件內容操作177
9.1文件操作基本知識178
9.1.1內置函數open()178
9.1.2文件對象屬性與常用方法179
9.1.3上下文管理語句with180
9.2文本文件內容操作案例精選180
9.3二進製文件操作案例精選182
9.3.1使用pickle模塊讀寫二進製文件182
9.3.2使用shelve模塊操作二進製文件183
9.3.3其他常見類型二進製文件操作案例184
本章小結187
習題187
第10章異常處理結構189
10.1異常的概念與錶現形式189
10.2異常處理結構190
10.2.1try…except…190
10.2.2try…except…else…191
10.2.3try…except…finally…191
10.2.4可以捕捉多種異常的異常處理結構193
10.2.5同時包含else子句、finally子句和多個except子句的異常
處理結構194
10.3斷言與上下文管理語句194
本章小結195
習題195
第11章SQLite數據庫應用開發197
11.1使用Python操作SQLite數據庫197
11.1.1Connection對象198
11.1.2Cursor對象198
11.2精彩案例賞析201
本章小結204
習題204
第12章tkinter編程精彩案例205
12.1用戶登錄界麵205
12.2選擇類組件應用207
12.3簡單文本編輯器210
12.4簡單畫圖程序214
12.5電子時鍾218
12.6簡單動畫220
12.7多窗口編程222
12.8倒計時按鈕223
12.9簡易計算器225
習題227
習題答案228
附錄A復習大綱與建議247
參考文獻250
第5章第5章函數
在軟件開發過程中,經常有很多操作是完全相同或者是非常相似的,僅僅是要處理的數據不同而已,因此經常會在不同的代碼位置多次執行相似甚至完全相同的代碼塊。很顯然,從軟件設計和代碼復用的角度來講,直接將代碼塊復製到多個相應的位置然後進行簡單修改絕對不是一個好主意。雖然這樣可以使得多份復製的代碼可以彼此獨立地進行修改,但這樣不僅增加瞭代碼量,也增加瞭代碼閱讀、理解和維護的難度,為代碼測試和糾錯帶來很大的睏難。一旦被復製的代碼塊將來某天被發現存在問題而需要修改,必須對所有的復製都做同樣的正確修改,這在實際中是很難完成的一項任務。更糟糕的情況是,由於代碼量的大幅度增加,導緻代碼之間的關係更加復雜,很可能在修補舊漏洞的同時又引入瞭新漏洞,維護成本大幅度增加。因此,應盡量減少使用直接復製代碼的方式來實現復用。解決這個問題的有效方法是設計函數(function)和類(class)。本章介紹函數的設計與使用,第6章介紹麵嚮對象程序設計。
將可能需要反復執行的代碼封裝為函數,然後在需要該功能的地方調用封裝好的函數,不僅可以實現代碼的復用,更重要的是可以保證代碼的一緻性,隻需要修改該函數的代碼則所有調用位置均得到體現。同時,把大任務拆分成多個函數也是分治法的經典應用,復雜問題簡單化,使得軟件開發像搭積木一樣簡單。當然,在實際開發中,需要對函數進行良好的設計和優化纔能充分發揮其優勢,並不是使用瞭函數就萬事大吉瞭。在編寫函數時,有很多原則需要參考和遵守。例如,不要在同一個函數中執行太多的功能,盡量隻讓其完成一個高度相關且大小閤適的功能,提高模塊的內聚性。另外,盡量減少不同函數之間的隱式耦閤。例如,減少全局變量的使用,使得函數之間僅通過調用和參數傳遞來顯式體現其相互關係。再就是設計函數時應盡量減少副作用,隻實現指定的功能就可以瞭,不要做多餘的事情。最後,在實際項目開發中,往往會把一些通用的函數封裝到一個模塊中,並把這個通用模塊文件放到頂層文件夾中,這樣更方便管理。
5.1函數定義與使用〖*8/9〗5.1.1基本語法在Python中,定義函數的語法如下: def 函數名([參數列錶]):〖1〗〖2〗玩轉Python輕鬆過二級〖1〗第5章函數〖2〗'''注釋'''
函數體在Python中使用def關鍵字來定義函數,然後是一個空格和函數名稱,接下來是一對括號,在括號內是形式參數列錶,如果有多個參數則使用逗號分隔開,括號之後是一個冒號和換行,最後是注釋和函數體代碼。定義函數時在語法上需要注意的問題主要有: ①函數形參不需要聲明其類型,也不需要指定函數的返迴值類型; ②即使該函數不需要接收任何參數,也必須保留一對空的括號; ③括號後麵的冒號必不可少; ④函數體相對於def關鍵字必須保持一定的空格縮進。
下麵的函數用來計算斐波那契數列中小於參數n的所有值: def fib(n): #定義函數,括號裏的n是形參
'''accept an integer n.
return the numbers less than n in Fibonacci sequence.'''
a,b= 1,1
while a print(a,end=' ') a,b= b,a+b
前言
Python是一門免費、開源、跨平颱的高級動態編程語言,支持命令式編程、函數式編程,完全支持麵嚮對象程序設計,擁有大量功能強大的內置對象、標準庫和涉及各行業領域的擴展庫以及眾多狂熱的支持者,使得各領域的工程師、科研人員、策劃人員甚至管理人員能夠快速實現和驗證自己的思路、創意或者推測。在有些編程語言中需要編寫大量代碼纔能實現的功能,在Python中直接調用內置函數或標準庫方法即可實現,大幅度減少瞭代碼量,更加容易維護。Python用戶隻需要把主要精力放在業務邏輯的設計與實現上,在開發速度和運行效率之間達到瞭完美的平衡,其精妙之處令人擊節嘆賞。
Python由Guido van Rossum於1991年推齣第一個公開發行版本,迅速得到各行業人士的青睞。經過20多年的發展,Python已經滲透到統計分析、移動終端開發、科學計算可視化、係統安全、逆嚮工程、軟件測試與軟件分析、圖形圖像處理、人工智能、機器學習、深度學習、遊戲設計與策劃、網站開發、數據爬取與大數據處理、密碼學、係統運維、音樂編程、影視特效製作、計算機輔助教育、醫藥輔助設計、天文信息處理、化學、生物信息處理、神經科學與心理學、自然語言處理、電子電路設計、電子取證、樹莓派等幾乎所有專業和領域,在黑客領域更是多年來一直擁有霸主地位。與此同時,Python語言在各大編程語言排行榜上的位次也是逐年上升,在IEEE Spectrum 2017編程語言排行榜上名列榜首。
早在多年前Python就已經成為卡耐基梅隆大學、麻省理工學院、加州大學伯剋利分校、哈佛大學、多倫多大學等國外很多大學計算機專業或非計算機專業的程序設計入門教學語言。近幾年來國內有幾百所高等院校的多個專業陸續開設瞭與Python程序設計有關的課程,並且這個數量還在快速增加。浙江省已經確定2018年開始將高中信息技術課程中的Visual Basic替換為Python,並納入高考,還有幾個省市也正在探討把Python納入高考的可行性。同時,全國計算機等級考試二級也正式加入Python模塊,並確定於2018年9月進行第一次考試。毫無疑問,這些措施是相當有意義的,極大促進瞭國內Python的普及和推廣。
本書作者於1998年和1999年分彆通過全國計算機等級考試二級Visual Foxpro、三級A和四級考試,並且取得四級優秀證書。2000年參加工作之後,又連續多年擔任全國計算機等級考試監考老師和多傢培訓機構的二級C語言輔導班主講教師,在這方麵擁有豐富的經驗。
本書作者自2011年開始潛心研究Python編程以及Python在各領域的應用,2015年開始陸續齣版瞭《Python程序設計》《Python程序設計基礎》《Python程序設計(第2版)》《Python可以這樣學》《Python程序設計開發寶典》《中學生可以這樣學Python》《Python〖1〗〖2〗玩轉Python輕鬆過二級〖1〗前言〖2〗程序設計基礎(第2版)》係列圖書。近兩年來作者應邀為多所高校、企業做報告和擔任全國高校教師Python師資培訓班主講教師超過30次,並連續7個學期為不同專業學生講授Python編程與應用,在Python教學方麵積纍瞭大量的經驗。
內容組織與閱讀建議
本書共12章,全部代碼適用於Python 3.5、Python 3.6以及更高版本。
第1章Python概述。介紹Python編碼規範、擴展庫安裝方法以及標準庫對象和擴展庫對象的導入。
第2章運算符、錶達式與內置對象。講解Python運算符、錶達式、常量與變量以及常用內置函數的用法。
第3章詳解Python序列結構。講解列錶、元組、字典、集閤等序列結構的用法,以及列錶推導式、生成器錶達式、切片、序列解包等常用技術。
第4章程序控製結構。講解單分支選擇結構、雙分支選擇結構、多分支選擇結構和選擇結構的嵌套,以及for循環和while循環的用法。
第5章函數。講解函數的定義與調用、遞歸函數,位置參數、默認值參數、關鍵參數和可變長度參數,以及lambda錶達式的用法。
第6章麵嚮對象程序設計。介紹類與對象的概念,數據成員與成員方法的定義與使用,公有成員與私有成員的區彆,封裝與繼承的概念,以及特殊方法的用法。
第7章字符串。講解字符串編碼格式,字符串格式化,字符串常用方法,運算符與內置函數對字符串的操作,中英文分詞,拼音處理等內容。
第8章正則錶達式。介紹正則錶達式語法基礎,Python標準庫re的常用函數。
第9章文件內容操作。講解內置函數open()的用法,文件對象的常用方法,上下文管理語句with,文本文件讀寫,二進製文件序列化和反序列化,以及Word文件和Excel文件操作。
第10章異常處理結構。介紹異常的概念,以及常用的異常處理結構語法。
第11章SQLite數據庫應用開發。介紹SQLite數據庫基礎,Python標準庫sqlite3的Connection對象與Cursor對象,常用SQL語句的語法,以及數據導入導齣。
第12章tkinter編程精彩案例。介紹Python標準庫tkinter常用組件,並通過大量實際案例演示這些組件的用法。
本書適用讀者
本書可以作為(但不限於):
�r Python愛好者自學用書。
�r 非計算機專業本科、專科程序設計課程教材。
�r 全國計算機等級考試二級Python培訓用書。
�r 備考全國計算機等級考試二級Python考生的參考用書。
�r 需要大量練習題來鞏固和驗證所學知識的Python愛好者。
緻謝
首先感謝父母的養育之恩,在當年那麼艱苦的條件下還堅決支持我讀書,沒有讓我像其他同齡的孩子一樣輟學。感謝姐姐、姐夫多年來對我的愛護以及在老傢對父母的照顧,感謝善良的弟弟、弟媳在老傢對父母的照顧。當然,最應該感謝的是妻子和孩子對我這個代碼狂人的理解和體諒。
感謝每一位讀者,感謝您在茫茫書海中選擇瞭本書,衷心祝願您 玩轉Python輕鬆過二級 下載 mobi epub pdf txt 電子書 格式
玩轉Python輕鬆過二級 下載 mobi pdf epub txt 電子書 格式 2024
玩轉Python輕鬆過二級 下載 mobi epub pdf 電子書玩轉Python輕鬆過二級 mobi epub pdf txt 電子書 格式下載 2024