登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』趣味微项目,轻松学Python

書城自編碼: 3813797
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]肯·尤内-克拉克[Ken Youens-Clark]著
國際書號(ISBN): 9787302617341
出版社: 清华大学出版社
出版日期: 2022-11-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 122.5

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
质子交换膜燃料电池系统及其控制   戴海峰,余卓平,袁浩 著
《 质子交换膜燃料电池系统及其控制 戴海峰,余卓平,袁浩 著 》

售價:HK$ 238.8
绘画的基础 彩色铅笔技法入门教程
《 绘画的基础 彩色铅笔技法入门教程 》

售價:HK$ 59.8
听闻远方有你2
《 听闻远方有你2 》

售價:HK$ 51.4
牛津分配正义手册
《 牛津分配正义手册 》

售價:HK$ 432.0
全域增长:从战略制定到战术执行
《 全域增长:从战略制定到战术执行 》

售價:HK$ 141.6
澎湖湾的荷兰船:十七世纪荷兰人怎么来到台湾
《 澎湖湾的荷兰船:十七世纪荷兰人怎么来到台湾 》

售價:HK$ 79.2
银元时代生活史
《 银元时代生活史 》

售價:HK$ 105.6
大唐兴衰三百年3:从女主当国到开元盛世
《 大唐兴衰三百年3:从女主当国到开元盛世 》

售價:HK$ 69.6

 

建議一齊購買:

+

HK$ 133.7
《 精通CSS 高级Web标准解决方案 第3版 》
+

HK$ 196.4
《 Flask Web开发入门、进阶与实战 》
+

HK$ 348.3
《 Java核心技术第10版(套装共2册) 》
+

HK$ 59.4
《 阿里巴巴Java开发手册(第2版) 》
+

HK$ 101.8
《 程序员面试宝典(第5版) 》
+

HK$ 100.1
《 HTML CSS JavaScript基础教程 Web前端开发精品课 》
編輯推薦:
谁说学习编程一定很枯燥?本书用21个谜题和游戏的方式讲解Python的基础知识,使读者做每个练习时一边获得娱乐,一边学会文本处理、基本算法,以及列表和字典的用法。本书是Python菜鸟获得自信和经验的理想教科书。
  项目虽小,收获却大。本书每章帮助读者完成一个新的Python程序挑战,包括密码生成器、押韵器、扰码器等。完成这些有趣的练习后,读者将从一个Python初学者成长为一个自信的程序员,并在此过程中度过一段美好的时光。
內容簡介:
主要内容 ● 编写Python命令行程序 ● 处理Python数据结构 ● 使用和控制随机性 ● 为程序和函数编写并运行测试 ● 下载每个项目的全套测试集
關於作者:
Ken Youens-Clark是亚利桑那大学的高级科学程序员。他拥有生物系统工程硕士学位,从事编程工作二十多年。
目錄
第1章 如何编写和测试Python程序 1
1.1 创建你的第一个程序 1
1.2 注释行 2
1.3 测试程序 2
1.4 添加#!(释伴)行 4
1.5 可执行的程序 5
1.6 理解$PATH 6
1.7 添加参数和帮助 7
1.8 可选实参 9
1.9 运行测试 11
1.10 添加main()函数 11
1.11 添加get_args()函数 12
1.12 测试hello.py 14
1.13 用new.py开始新程序 15
1.14 使用template.py替代new.py 17
1.15 小结 18
第2章 瞭望哨:使用字符串 19
2.1 启程 20
2.1.1 如何使用测试 20
2.1.2 用new.py创建程序 21
2.1.3 编写、测试、重复 21
2.1.4 定义实参 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()定义实参 32
2.3.2 关于main() 32
2.3.3 给单词的第一个字符分类 33
2.3.4 打印结果 34
2.3.5 运行测试集 34
2.4 更进一步 34
2.5 小结 35
第3章 去野餐:使用列表 37
3.1 开始编写程序 38
3.2 编写picnic.py程序 39
3.3 介绍列表 41
3.3.1 向列表添加一个元素 41
3.3.2 向列表添加多个元素 42
3.3.3 对列表进行索引 44
3.3.4 对列表进行切片化 44
3.3.5 在列表中查找元素 45
3.3.6 从列表中删除元素 46
3.3.7 对列表进行排序和反转 47
3.3.8 变更列表 49
3.3.9 连接列表 50
3.4 用if/elif/else进行条件分支 50
3.5 解决方案 51
3.6 讨论 52
3.6.1 定义实参 52
3.6.2 对条目进行赋值和排序 53
3.6.3 对条目进行格式化 53
3.6.4 打印条目 54
3.7 更进一步 54
3.8 小结 54
第4章 跳过5:使用字典 57
4.1 字典 58
4.1.1 创建字典 58
4.1.2 访问字典值 60
4.1.3 其他字典方法 61
4.2 编写jump.py 62
4.3 解决方案 64
4.4 讨论 64
4.4.1 定义参数 65
4.4.2 使用dict进行编码 65
4.4.3 处理序列中条目的多种方法 65
4.4.4 不使用str.replace() 70
4.5 更进一步 70
4.6 小结 70
第5章 吼叫信:使用文件和STDOUT 73
5.1 读取文件 74
5.2 写入文件 77
5.3 编写howler.py 79
5.4 解决方案 80
5.5 讨论 81
5.5.1 定义实参 82
5.5.2 从文件或命令行读取输入 82
5.5.3 选择输出文件句柄 83
5.5.4 打印输出 84
5.5.5 低内存版本 84
5.6 更进一步 86
5.7 小结 86
第6章 数单词:读取文件和STDIN,迭代列表,格式化字符串 87
6.1 编写wc.py 88
6.1.1 定义文件输入 89
6.1.2 迭代列表 90
6.1.3 你在数什么 90
6.1.4 格式化结果 92
6.2 解决方案 93
6.3 讨论 94
6.3.1 定义实参 94
6.3.2 使用for循环读入一个文件 94
6.4 更进一步 96
6.5 小结 96
第7章 Gashlycrumb:在字典中查找条目 97
7.1 编写 gashlycrumb.py 98
7.2 解决方案 101
7.3 讨论 102
7.3.1 处理实参 102
7.3.2 读取输入文件 102
7.3.3 使用字典推导式 103
7.3.4 lookup字典 104
7.4 更进一步 104
7.5 小结 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 定义参数 112
8.3.2 替换元音的8种方法 113
8.4 用测试进行重构 125
8.5 更进一步 126
8.6 小结 126
第9章 拨号诅咒:用单词列表生成随机嘲讽话 127
9.1 编写abuse.py 128
9.1.1 验证实参 129
9.1.2 导入随机模块并生成种子 131
9.1.3 定义形容词和名词 131
9.1.4 采集随机样本并选择 132
9.1.5 对输出进行格式化 133
9.2 解决方案 134
9.3 讨论 135
9.3.1 定义实参 135
9.3.2 使用parser.error() 136
9.3.3 程序退出值和STDERR 136
9.3.4 用random.seed()控制随机性 137
9.3.5 用range()进行迭代并使用抛弃变量 137
9.3.6 构建嘲讽语句 138
9.4 更进一步 139
9.5 小结 139
第10章 电话:随机变更字符串 141
10.1 编写telephone.py 142
10.1.1 计算变更的数量 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 更进一步 152
10.5 小结 152
第11章 瓶装啤酒之歌:
编写和测试函数 153
11.1 编写bottles.py 154
11.1.1 反向计数 154
11.1.2 编写函数 155
11.1.3 为verse()编写测试 156
11.1.4 使用verse()函数 160
11.2 解决方案 160
11.3 讨论 162
11.3.1 反向计数 162
11.3.2 测试驱动开发 162
11.3.3 verse()函数 163
11.3.4 遍历歌曲小节 164
11.3.5 1500个其他解决方案 166
11.4 更进一步 166
11.5 小结 167
第12章 赎金条:随机大写文本 169
12.1 编写ransom.py 170
12.1.1 修改文本 171
12.1.2 掷硬币 171
12.1.3 创建新字符串 172
12.2 解决方案 172
12.3 讨论 174
12.3.1 遍历序列中的元素 174
12.3.2 编写函数来选择字母 175
12.3.3 编写list.append()的另一种方法 175
12.3.4 使用str代替list 176
12.3.5 使用列表解析式 176
12.3.6 使用map()函数 176
12.4 方法比较 177
12.5 更进一步 178
12.6 小结 178
第13章 圣诞节的十二天:算法设计 179
13.1 编写twelve_days.py 180
13.1.1 计数 181
13.1.2 创建序数值 182
13.1.3 制作小节 183
13.1.4 使用verse()函数 185
13.1.5 打印 186
13.1.6 开始编程 186
13.2 解决方案 186
13.3 讨论 188
13.3.1 制作一个小节 188
13.3.2 生成小节 191
13.3.3 打印小节 192
13.4 更进一步 193
13.5 小结 193
第14章 押韵机:使用正则表达式创建押韵单词 195
14.1 编写rhymer.py 197
14.1.1 分解单词 198
14.1.2 使用正则表达式 198
14.1.3 使用捕获组 201
14.1.4 真实性 205
14.1.5 创建输出 206
14.2 解决方案 206
14.3 讨论 208
14.3.1 取单词词干 208
14.3.2 对正则表达式进行格式化和注释 210
14.3.3 在程序之外使用 stemmer()函数 211
14.3.4 创建押韵字符串 212
14.3.5 不带正则表达式的stemmer() 213
14.4 更进一步 214
14.5 小结 214
第15章 肯德基修士:关于正则表达式的更多故事 215
15.1 编写friar.py 217
15.1.1 使用正则表达式拆解文本 218
15.1.2 简写类 218
15.1.3 否定简写类 220
15.1.4 使用带有已捕获的正则表达式的re.split() 221
15.1.5 编写fry()函数 223
15.1.6 使用fry()函数 227
15.2 解决方案 228
15.3 讨论 229
15.3.1 手动编写fry()函数 230
15.3.2 编写带有正则表达式的fry()函数 231
15.4 更进一步 232
15.5 小结 232
第16章 扰码器:随机重排单词中部 233
16.1 编写scrambler.py 234
16.1.1 把文本分解成行和单词 235
16.1.2 捕获组、非捕获组和可选组 236
16.1.3 编译正则表达式 236
16.1.4 对一个单词进行扰码 237
16.1.5 对所有单词进行扰码 239
16.2 解决方案 239
16.3 讨论 241
16.3.1 处理文本 241
16.3.2 对单词进行扰码 243
16.4 更进一步 243
16.5 小结 244
第17章 疯狂填词:使用正则表达式 245
17.1 编写mad.py 246
17.1.1 使用正则表达式找到尖括号 247
17.1.2 停止并打印错误 250
17.1.3 获取值 251
17.1.4 替换文本 252
17.2 解决方案 252
17.3 讨论 253
17.3.1 用正则表达式进行替换 253
17.3.2 不用正则表达式找到占位符 254
17.4 更进一步 256
17.5 小结 256
第18章 希伯来数:使用ASCII值对文本进行数字编码 257
18.1 编写gematria.py 258
18.1.1 清洁单词 259
18.1.2 序数字符值和范围 260
18.1.3 求和与归约 262
18.1.4 使用functools.reduce 263
18.1.5 对单词进行编码 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 更进一步 270
18.5 小结 270
第19章 每日健身:解析CSV文件,创建文本表输出 271
19.1 编写wod.py 272
19.1.1 读取带分隔符的文本文件 272
19.1.2 手动读取CSV文件 274
19.1.3 用csv模块进行解析 277
19.1.4 创建读取CSV文件的函数 278
19.1.5 选择健身项目 279
19.1.6 格式化输出 281
19.1.7 处理无效数据 281
19.1.8 编程时间 282
19.2 解决方案 282
19.3 讨论 284
19.3.1 读取CSV文件 284
19.3.2 潜在的运行错误 285
19.3.3 使用pandas.read_csv()解析文件 286
19.3.4 对表进行格式化 287
19.4 更进一步 289
19.5 小结 289
第20章 密码强度:生成安全且容易记忆的密码 291
20.1 编写password.py 293
20.1.1 创建唯一的单词列表 295
20.1.2 清洁文本 296
20.1.3 使用集合 298
20.1.4 对单词进行过滤 298
20.1.5 将单词首字母大写 300
20.1.6 采样和制作密码 300
20.1.7 l33t-ify 300
20.1.8 整体运行 301
20.2 解决方案 302
20.3 讨论 304
20.3.1 清洁文本 304
20.3.2 ransom()函数 305
20.3.3 l33t()函数 305
20.3.4 处理文件 306
20.3.5 采样和创建密码 307
20.4 更进一步 308
20.5 小结 308
第21章 井字棋:探索状态 309
21.1 编写tictactoe.py 310
21.1.1 验证用户输入 312
21.1.2 更改棋盘 313
21.1.3 打印棋盘 313
21.1.4 确定赢家 314
21.2 解决方案 315
21.2.1 验证实参和变更棋盘 317
21.2.2 对棋盘进行格式化 320
21.2.3 找到赢家 321
21.3 更进一步 322
21.4 小结 322
第22章 井字棋归来:带有类型提示的交互式版本 323
22.1 编写itictactoe.py 323
22.1.1 元组对话 325
22.1.2 具名元组 326
22.1.3 添加类型提示 328
22.1.4 用Mypy进行类型验证 329
22.1.5 更新不可变的结构 330
22.1.6 向函数定义添加类型提示 331
22.2 解决方案 332
22.2.1 使用TypedDict的版本 334
22.2.2 思考状态 336
22.3 更进一步 336
22.4 小结 336
后记 337
附录 使用argparse 339
內容試閱
为什么使用Python
Python是一种优秀的通用编程语言,可以通过Python编写程序来给朋友发送秘密消息或者下国际象棋。Python模块可以帮助你处理复杂的科学数据,探索机器学习算法,以及生成可供发表的图形。许多大学的计算机科学课程已经将入门语言从C和Java等语言转向Python语言,因为Python是一种相对易学的语言。可以使用Python学习计算机科学中既基础又强大的概念。在介绍正则表达式和高阶函数这一类的概念时,鼓励你进一步深入学习它们。
我为什么撰写本书
多年来,我经常帮助人们学习编程,我一直觉得这件事很有意义。《趣味微项目,轻松学Python》的结构源于我在课堂上的经验,我认为正式的规范和测试有助于学习如何把一个程序分解成多个待解决的小问题,从而构建整个程序。
当我学习一门新语言时,我发现,最大的入门障碍是,一门语言中的很多小概念通常没有被置于任何实际的语境之内。大多数编程语言教程都会以输出“Hello, World!”开头(《趣味微项目,轻松学Python》也不例外),当然这很简单,但是随后,我通常要努力编写一个完整的程序,它将通过实际参数做一些实际的事情。《趣味微项目,轻松学Python》将演示许多做实际事情的程序范例,希望你可以修改这些程序,创建更多供自己使用的程序。
最重要的是,我认为需要做练习。就像那个老笑话:“通往卡内基音乐厅的路在哪里?答案是:练习,练习,再练习。”这些编码的挑战性不是很强,你很可能在几小时或几天内就可以完成一个任务。《趣味微项目,轻松学Python》的内容比我在一个学期的大学课堂上讲的内容要充实,所以我想整本书会花你几个月的时间。我希望你能解决这些问题,接着思考这些问题,然后再回来看看是否能以不同的方式解决它们,比如使用更高级的技巧,或者让程序运行得更快。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.