趣味微項(xiàng)目,輕松學(xué)Python
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
趣味微項(xiàng)目,輕松學(xué)Python 版權(quán)信息
- ISBN:9787302617341
- 條形碼:9787302617341 ; 978-7-302-61734-1
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>
趣味微項(xiàng)目,輕松學(xué)Python 本書特色
誰說學(xué)習(xí)編程一定很枯燥?本書用21個(gè)謎題和游戲的方式講解Python的基礎(chǔ)知識(shí),使讀者做每個(gè)練習(xí)時(shí)一邊獲得娛樂,一邊學(xué)會(huì)文本處理、基本算法,以及列表和字典的用法。本書是Python菜鳥獲得自信和經(jīng)驗(yàn)的理想教科書。 項(xiàng)目雖小,收獲卻大。本書每章幫助讀者完成一個(gè)新的Python程序挑戰(zhàn),包括密碼生成器、押韻器、擾碼器等。完成這些有趣的練習(xí)后,讀者將從一個(gè)Python初學(xué)者成長為一個(gè)自信的程序員,并在此過程中度過一段美好的時(shí)光。
趣味微項(xiàng)目,輕松學(xué)Python 內(nèi)容簡介
主要內(nèi)容 ● 編寫Python命令行程序 ● 處理Python數(shù)據(jù)結(jié)構(gòu) ● 使用和控制隨機(jī)性 ● 為程序和函數(shù)編寫并運(yùn)行測試 ● 下載每個(gè)項(xiàng)目的全套測試集
趣味微項(xiàng)目,輕松學(xué)Python 目錄
第1章如何編寫和測試Python程序 1
1.1創(chuàng)建你的**個(gè)程序 1
1.2注釋行 2
1.3測試程序 2
1.4添加#!(釋伴)行 4
1.5可執(zhí)行的程序 5
1.6理解$PATH 6
1.7添加參數(shù)和幫助 7
1.8可選實(shí)參 9
1.9運(yùn)行測試 11
1.10添加main()函數(shù) 11
1.11添加get_args()函數(shù) 12
1.12測試hello.py 14
1.13用new.py開始新程序 15
1.14使用template.py替代new.py 17
1.15小結(jié) 18
第2章瞭望哨:使用字符串 19
2.1啟程 20
2.1.1如何使用測試 20
2.1.2用new.py創(chuàng)建程序 21
2.1.3編寫、測試、重復(fù) 21
2.1.4定義實(shí)參 22
2.1.5串連字符串 24
2.1.6變量類型 25
2.1.7獲取字符串的正確部分 25
2.1.8在REPL中找到幫助 26
2.1.9字符串方法 27
2.1.10字符串比較 28
2.1.11條件分支 29
2.1.12字符串格式化 30
2.1.13編寫程序 31
2.2解決方案 31
2.3討論 32
2.3.1用get_args()定義實(shí)參 32
2.3.2關(guān)于main() 32
2.3.3給單詞的**個(gè)字符分類 33
2.3.4打印結(jié)果 34
2.3.5運(yùn)行測試集 34
2.4更進(jìn)一步 34
2.5小結(jié) 35
第3章去野餐:使用列表 37
3.1開始編寫程序 38
3.2編寫picnic.py程序 39
3.3介紹列表 41
3.3.1向列表添加一個(gè)元素 41
3.3.2向列表添加多個(gè)元素 42
3.3.3對(duì)列表進(jìn)行索引 44
3.3.4對(duì)列表進(jìn)行切片化 44
3.3.5在列表中查找元素 45
3.3.6從列表中刪除元素 46
3.3.7對(duì)列表進(jìn)行排序和反轉(zhuǎn) 47
3.3.8變更列表 49
3.3.9連接列表 50
3.4用if/elif/else進(jìn)行條件分支 50
3.5解決方案 51
3.6討論 52
3.6.1定義實(shí)參 52
3.6.2對(duì)條目進(jìn)行賦值和排序 53
3.6.3對(duì)條目進(jìn)行格式化 53
3.6.4打印條目 54
3.7更進(jìn)一步 54
3.8小結(jié) 54
第4章跳過5:使用字典 57
4.1字典 58
4.1.1創(chuàng)建字典 58
4.1.2訪問字典值 60
4.1.3其他字典方法 61
4.2編寫jump.py 62
4.3解決方案 64
4.4討論 64
4.4.1定義參數(shù) 65
4.4.2使用dict進(jìn)行編碼 65
4.4.3處理序列中條目的多種方法 65
4.4.4不使用str.replace() 70
4.5更進(jìn)一步 70
4.6小結(jié) 70
第5章吼叫信:使用文件和STDOUT 73
5.1讀取文件 74
5.2寫入文件 77
5.3編寫howler.py 79
5.4解決方案 80
5.5討論 81
5.5.1定義實(shí)參 82
5.5.2從文件或命令行讀取輸入 82
5.5.3選擇輸出文件句柄 83
5.5.4打印輸出 84
5.5.5低內(nèi)存版本 84
5.6更進(jìn)一步 86
5.7小結(jié) 86
第6章數(shù)單詞:讀取文件和STDIN,迭代列表,格式化字符串 87
6.1編寫wc.py 88
6.1.1定義文件輸入 89
6.1.2迭代列表 90
6.1.3你在數(shù)什么 90
6.1.4格式化結(jié)果 92
6.2解決方案 93
6.3討論 94
6.3.1定義實(shí)參 94
6.3.2使用for循環(huán)讀入一個(gè)文件 94
6.4更進(jìn)一步 96
6.5小結(jié) 96
第7章Gashlycrumb:在字典中查找條目 97
7.1編寫 gashlycrumb.py 98
7.2解決方案 101
7.3討論 102
7.3.1處理實(shí)參 102
7.3.2讀取輸入文件 102
7.3.3使用字典推導(dǎo)式 103
7.3.4lookup字典 104
7.4更進(jìn)一步 104
7.5小結(jié) 105
第8章蘋果和香蕉:找到并替換 107
8.1更改字符串 109
8.1.1使用str.replace()方法 109
8.1.2使用str.translate() 110
8.1.3變更字符串的其他方法 110
8.2解決方案 111
8.3討論 112
8.3.1定義參數(shù) 112
8.3.2替換元音的8種方法 113
8.4用測試進(jìn)行重構(gòu) 125
8.5更進(jìn)一步 126
8.6小結(jié) 126
第9章?lián)芴?hào)詛咒:用單詞列表生成隨機(jī)嘲諷話 127
9.1編寫abuse.py 128
9.1.1驗(yàn)證實(shí)參 129
9.1.2導(dǎo)入隨機(jī)模塊并生成種子 131
9.1.3定義形容詞和名詞 131
9.1.4采集隨機(jī)樣本并選擇 132
9.1.5對(duì)輸出進(jìn)行格式化 133
9.2解決方案 134
9.3討論 135
9.3.1定義實(shí)參 135
9.3.2使用parser.error() 136
9.3.3程序退出值和STDERR 136
9.3.4用random.seed()控制隨機(jī)性 137
9.3.5用range()進(jìn)行迭代并使用拋棄變量 137
9.3.6構(gòu)建嘲諷語句 138
9.4更進(jìn)一步 139
9.5小結(jié) 139
第10章電話:隨機(jī)變更字符串 141
10.1編寫telephone.py 142
10.1.1計(jì)算變更的數(shù)量 144
10.1.2變更空間 144
10.1.3選擇要變更的字符 145
10.1.4變更字符串 147
10.1.5編寫程序 148
10.2解決方案 148
10.3討論 149
10.3.1變更字符串 150
10.3.2使用list代替str 151
10.4更進(jìn)一步 152
10.5小結(jié) 152
第11章瓶裝啤酒之歌:
編寫和測試函數(shù) 153
11.1編寫bottles.py 154
11.1.1反向計(jì)數(shù) 154
11.1.2編寫函數(shù) 155
11.1.3為verse()編寫測試 156
11.1.4使用verse()函數(shù) 160
11.2解決方案 160
11.3討論 162
11.3.1反向計(jì)數(shù) 162
11.3.2測試驅(qū)動(dòng)開發(fā) 162
11.3.3verse()函數(shù) 163
11.3.4遍歷歌曲小節(jié) 164
11.3.51500個(gè)其他解決方案 166
11.4更進(jìn)一步 166
11.5小結(jié) 167
第12章贖金條:隨機(jī)大寫文本 169
12.1編寫ransom.py 170
12.1.1修改文本 171
12.1.2擲硬幣 171
12.1.3創(chuàng)建新字符串 172
12.2解決方案 172
12.3討論 174
12.3.1遍歷序列中的元素 174
12.3.2編寫函數(shù)來選擇字母 175
12.3.3編寫list.append()的另一種方法 175
12.3.4使用str代替list 176
12.3.5使用列表解析式 176
12.3.6使用map()函數(shù) 176
12.4方法比較 177
12.5更進(jìn)一步 178
12.6小結(jié) 178
第13章圣誕節(jié)的十二天:算法設(shè)計(jì) 179
13.1編寫twelve_days.py 180
13.1.1計(jì)數(shù) 181
13.1.2創(chuàng)建序數(shù)值 182
13.1.3制作小節(jié) 183
13.1.4使用verse()函數(shù) 185
13.1.5打印 186
13.1.6開始編程 186
13.2解決方案 186
13.3討論 188
13.3.1制作一個(gè)小節(jié) 188
13.3.2生成小節(jié) 191
13.3.3打印小節(jié) 192
13.4更進(jìn)一步 193
13.5小結(jié) 193
第14章押韻機(jī):使用正則表達(dá)式創(chuàng)建押韻單詞 195
14.1編寫rhymer.py 197
14.1.1分解單詞 198
14.1.2使用正則表達(dá)式 198
14.1.3使用捕獲組 201
14.1.4真實(shí)性 205
14.1.5創(chuàng)建輸出 206
14.2解決方案 206
14.3討論 208
14.3.1取單詞詞干 208
14.3.2對(duì)正則表達(dá)式進(jìn)行格式化和注釋 210
14.3.3在程序之外使用 stemmer()函數(shù) 211
14.3.4創(chuàng)建押韻字符串 212
14.3.5不帶正則表達(dá)式的stemmer() 213
14.4更進(jìn)一步 214
14.5小結(jié) 214
第15章肯德基修士:關(guān)于正則表達(dá)式的更多故事 215
15.1編寫friar.py 217
15.1.1使用正則表達(dá)式拆解文本 218
15.1.2簡寫類 218
15.1.3否定簡寫類 220
15.1.4使用帶有已捕獲的正則表達(dá)式的re.split() 221
15.1.5編寫fry()函數(shù) 223
15.1.6使用fry()函數(shù) 227
15.2解決方案 228
15.3討論 229
15.3.1手動(dòng)編寫fry()函數(shù) 230
15.3.2編寫帶有正則表達(dá)式的fry()函數(shù) 231
15.4更進(jìn)一步 232
15.5小結(jié) 232
第16章擾碼器:隨機(jī)重排單詞中部 233
16.1編寫scrambler.py 234
16.1.1把文本分解成行和單詞 235
16.1.2捕獲組、非捕獲組和可選組 236
16.1.3編譯正則表達(dá)式 236
16.1.4對(duì)一個(gè)單詞進(jìn)行擾碼 237
16.1.5對(duì)所有單詞進(jìn)行擾碼 239
16.2解決方案 239
16.3討論 241
16.3.1處理文本 241
16.3.2對(duì)單詞進(jìn)行擾碼 243
16.4更進(jìn)一步 243
16.5小結(jié) 244
第17章瘋狂填詞:使用正則表達(dá)式 245
17.1編寫mad.py 246
17.1.1使用正則表達(dá)式找到尖括號(hào) 247
17.1.2停止并打印錯(cuò)誤 250
17.1.3獲取值 251
17.1.4替換文本 252
17.2解決方案 252
17.3討論 253
17.3.1用正則表達(dá)式進(jìn)行替換 253
17.3.2不用正則表達(dá)式找到占位符 254
17.4更進(jìn)一步 256
17.5小結(jié) 256
第18章希伯來數(shù):使用ASCII值對(duì)文本進(jìn)行數(shù)字編碼 257
18.1編寫gematria.py 258
18.1.1清潔單詞 259
18.1.2序數(shù)字符值和范圍 260
18.1.3求和與歸約 262
18.1.4使用functools.reduce 263
18.1.5對(duì)單詞進(jìn)行編碼 264
18.1.6拆解文本 265
18.2解決方案 265
18.3討論 266
18.3.1編寫word2num() 267
18.3.2排序 268
18.3.3測試 270
18.4更進(jìn)一步 270
18.5小結(jié) 270
第19章每日健身:解析CSV文件,創(chuàng)建文本表輸出 271
19.1編寫wod.py 272
19.1.1讀取帶分隔符的文本文件 272
19.1.2手動(dòng)讀取CSV文件 274
19.1.3用csv模塊進(jìn)行解析 277
19.1.4創(chuàng)建讀取CSV文件的函數(shù) 278
19.1.5選擇健身項(xiàng)目 279
19.1.6格式化輸出 281
19.1.7處理無效數(shù)據(jù) 281
19.1.8編程時(shí)間 282
19.2解決方案 282
19.3討論 284
19.3.1讀取CSV文件 284
19.3.2潛在的運(yùn)行錯(cuò)誤 285
19.3.3使用pandas.read_csv()解析文件 286
19.3.4對(duì)表進(jìn)行格式化 287
19.4更進(jìn)一步 289
19.5小結(jié) 289
第20章密碼強(qiáng)度:生成安全且容易記憶的密碼 291
20.1編寫password.py 293
20.1.1創(chuàng)建唯一的單詞列表 295
20.1.2清潔文本 296
20.1.3使用集合 298
20.1.4對(duì)單詞進(jìn)行過濾 298
20.1.5將單詞首字母大寫 300
20.1.6采樣和制作密碼 300
20.1.7l33t-ify 300
20.1.8整體運(yùn)行 301
20.2解決方案 302
20.3討論 304
20.3.1清潔文本 304
20.3.2ransom()函數(shù) 305
20.3.3l33t()函數(shù) 305
20.3.4處理文件 306
20.3.5采樣和創(chuàng)建密碼 307
20.4更進(jìn)一步 308
20.5小結(jié) 308
第21章井字棋:探索狀態(tài) 309
21.1編寫tictactoe.py 310
21.1.1驗(yàn)證用戶輸入 312
21.1.2更改棋盤 313
21.1.3打印棋盤 313
21.1.4確定贏家 314
21.2解決方案 315
21.2.1驗(yàn)證實(shí)參和變更棋盤 317
21.2.2對(duì)棋盤進(jìn)行格式化 320
21.2.3找到贏家 321
21.3更進(jìn)一步 322
21.4小結(jié) 322
第22章井字棋歸來:帶有類型提示的交互式版本 323
22.1編寫itictactoe.py 323
22.1.1元組對(duì)話 325
22.1.2具名元組 326
22.1.3添加類型提示 328
22.1.4用Mypy進(jìn)行類型驗(yàn)證 329
22.1.5更新不可變的結(jié)構(gòu) 330
22.1.6向函數(shù)定義添加類型提示 331
22.2解決方案 332
22.2.1使用TypedDict的版本 334
22.2.2思考狀態(tài) 336
22.3更進(jìn)一步 336
22.4小結(jié) 336
后記 337
附錄使用argparse 339
趣味微項(xiàng)目,輕松學(xué)Python 作者簡介
Ken Youens-Clark是亞利桑那大學(xué)的高級(jí)科學(xué)程序員。他擁有生物系統(tǒng)工程碩士學(xué)位,從事編程工作二十多年。
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
羅曼·羅蘭讀書隨筆-精裝
- >
回憶愛瑪儂
- >
推拿
- >
巴金-再思錄
- >
李白與唐代文化
- >
名家?guī)阕x魯迅:朝花夕拾
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)