编辑推荐
畅销Python编程类入门书,美国***Kindle编程类排行榜榜一。
作者从文科毕业,通过自学编程转行为专业程序员,在硅谷工作多年后成功技术创业。《Python编程无师自通 专业程序员的养成》不仅教读者如何使用Python语言编程,还会介绍其他书中所忽略的、编程初学者应该了解并掌握的其他所有知识点。
很多初学者在读完其他类似的编程入门图书后,仍会很困惑:下一步该做什么?而《Python编程无师自通 专业程序员的养成》,就是作者结合自身成功经验给出的答案。
《Python编程无师自通 专业程序员的养成》每章采用“要点介绍+示例代码+术语总结+挑战练习”的模式,细化介绍编程入门所需的各个知识点。《Python编程无师自通 专业程序员的养成》中一章所涵盖的许多主题可能都可以独立成书。但作者的目标并不是要读者了解到每个主题的所有细节,而是提供一份指引,一个编程职业发展所需要的所有技能的导览。
**部分:编程概述。让你尽快写出自己的**个程序,*好在今天。
第二部分:面向对象编程概述。将介绍不同的编程范式,着重阐述面向对象编程。你会开发一个游戏,体会编程的强大能力。读完这部分后你会沉迷于编程。
第三部分:编程工具概述。将介绍提升编程生产力的不同工具。这时,你已经沉迷于编程,并希望变得更好。你将会学习有关操作系统、如何使用正则表达式提升效率、如何安装并管理他人的程序,以及如何使用版本控制与其他工程师协作。
第四部分:计算机科学概述。将简要介绍计算机科学知识,主要涵盖两个主题—算法和数据结构。
第五部分:成功入职。*后一部分是关于*佳编程实践,如何找到软件工程师的工作,团队协作以及程序员的自我提升。我会分享如何通过技术面试与团队协作的建议,以及如何进一步提升自己的技能。
不管你从事什么工作,编程都有助于你的职业发展。学习编程将给你自己赋能。如果你之前没有任何编程经验,担心自己无法胜任编程工作,《Python编程无师自通 专业程序员的养成》想告诉你的是:你完全有能力做到。人们对程序员有一些常见的误解,比如程序员都得擅长数学。这是错误的印象,不过编程确实是一件困难的工作。幸运的是,《Python编程无师自通 专业程序员的养成》涵盖的内容将让这一切变得比你想象的更加容易。内容简介
《Python编程无师自通 专业程序员的养成》作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。《Python编程无师自通 专业程序员的养成》是作者结合个人经验写作而成,旨在帮助读者从外行成长为一名专业的Python程序员。
《Python编程无师自通 专业程序员的养成》包括5部分内容:第一部分(第1~11章)介绍了编程基础知识,以及函数、容器、字符串、循环和模型等概念;第二部分(第12~15章)介绍了编程范式和面向对象编程等知识;第三部分(第16~20章)介绍了Bash、正则表达式、包管理器和版本控制等编程工具方面的知识;第四部分(第21~22章)主要涉及数据结构和算法方面的知识;第五部分(第23~27章)则是关于求职与团队协作的内容。
《Python编程无师自通 专业程序员的养成》可以满足几乎所有想要学习编程的初学者。《Python编程无师自通 专业程序员的养成》适合高中、大学阶段想要自学编程的学生,以及其他行业想入门编程的人,同时也适合作为编程入门的培训教材。作者简介
科里(CoryAlthoff)在大学主修政治学毕业后,通过自学编程知识顺利进入eBay,开启了其软件工程师的生涯。随后他在硅谷工作多年,现已利用技术开始了自主创业。《Python编程无师自通 专业程序员的养成》是作者根据个人成功经验所作,专为所有想要自学编程的初学者准备;即便读者并不想成为一名专业的软件工程师,《Python编程无师自通 专业程序员的养成》也会帮助每个人在其所属的行业中运用编程技能来提升工作能力,提高工作效率。目录
第一部分 编程简介
第1章 概述3
1.1 《Python编程无师自通 专业程序员的养成》的结构4
1.2 从终点出发4
1.3 你不是一个人在战斗5
1.4 自学的优势5
1.5 为什么应该编程5
1.6 坚持不懈6
1.7 《Python编程无师自通 专业程序员的养成》的格式6
1.8 《Python编程无师自通 专业程序员的养成》使用的技术6
1.9 术语表7
1.10 挑战练习7
第2章 起步9
2.1 什么是编程9
2.2 什么是Python10
2.3 安装Python10
2.4 问题解答11
2.5 交互式shell11
2.6 保存程序12
2.7 运行示例程序12
2.8 术语表13
2.9 挑战练习13
第3章 编程概论15
3.1 示例15
3.2 注释16
3.3 打印17
3.4 代码行17
3.5 关键字18
3.6 间距18
3.7 数据类型19
3.8 常量和变量21
3.9 语法24
3.10 错误与异常25
3.11 算术操作符26
3.12 比较操作符29
3.13 逻辑操作符31
3.14 条件语句34
3.15 语句38
3.16 术语表40
3.17 挑战练习42
第4章 函数43
4.1 表达概念43
4.2 函数44
4.3 定义函数44
4.4 内置函数47
4.5 复用函数49
4.6 必选及可选参数51
4.7 作用域52
4.8 异常处理55
4.9 文档字符串58
4.10 有需要才使用变量58
4.11 术语表59
4.12 挑战练习59
第5章 容器61
5.1 方法61
5.2 列表62
5.3 元组66
5.4 字典69
5.5 容器嵌套容器72
5.6 术语表76
5.7 挑战练习76
第6章 字符串操作77
6.1 三引号字符串77
6.2 索引77
6.3 字符串是不可变的79
6.4 字符串拼接79
6.5 字符串乘法80
6.6 改变大小写80
6.7 格式化80
6.8 分割82
6.9 连接82
6.10 去除空格83
6.11 替换84
6.12 查找索引84
6.13 in关键字85
6.14 字符串转义85
6.15 换行符86
6.16 切片87
6.17 术语表88
6.18 挑战练习89
第7章 循环91
7.1 for循环91
7.2 range函数95
7.3 while循环95
7.4 break语句96
7.5 continue语句98
7.6 嵌套循环99
7.7 术语表100
7.8 挑战练习101
第8章 模块103
8.1 导入内置模块103
8.2 导入其他模块105
8.3 术语表107
8.4 挑战练习107
第9章 文件109
9.1 写文件操作109
9.2 自动关闭文件110
9.3 读取文件111
9.4 CSV文件112
9.5 术语表114
9.6 挑战练习114
第10章 综合练习115
10.1 Hangman116
10.2 挑战练习119
第11章 练习121
11.1 阅读121
11.2 其他资源121
11.3 寻求帮助121
第二部分 面对对象编程简介
第12章 编程范式125
12.1 状态125
12.2 过程式编程125
12.3 函数式编程127
12.4 面向对象编程128
12.5 术语表133
12.6 挑战练习134
第13章 面向对象编程的
四大支柱135
13.1 封装135
13.2 抽象138
13.3 多态138
13.4 继承140
13.5 组合143
13.6 术语表144
13.7 挑战练习144
第14章 深入面向对象编程145
14.1 类变量与实例变量145
14.2 魔法方法147
14.3 is149
14.4 术语表150
14.5 挑战练习150
第15章 综合练习151
15.1 卡牌151
15.2 牌堆153
15.3 玩家154
15.4 游戏155
15.5 战争157
第三部分 编程工具简介
第16章 Bash163
16.1 跟随练习163
16.2 找到Bash164
16.3 命令164
16.4 最近命令165
16.5 相对路径与绝对路径165
16.6 导航166
16.7 旗标168
16.8 隐藏文件169
16.9 管道169
16.10 环境变量169
16.11 用户170
16.12 了解更多171
16.13 术语表171
16.14 挑战练习172
第17章 正则表达式173
17.1 初始配置173
17.2 简单匹配174
17.3 匹配起始位置176
17.4 匹配多个字符177
17.5 匹配数字178
17.6 重复179
17.7 转义181
17.8 正则工具182
17.9 术语表182
17.10 挑战练习183
第18章 包管理器185
18.1 包185
18.2 pip185
18.3 虚拟环境188
18.4 术语表188
18.5 挑战练习188
第19章 版本控制189
19.1 代码仓库189
19.2 入门190
19.3 推送和拉取191
19.4 推送示例192
19.5 拉取示例195
19.6 回退版本195
19.7 diff196
19.8 下一步197
19.9 术语表197
19.10 挑战练习198
第20章 融会贯通199
20.1 HTML199
20.2 爬取Google新闻200
20.3 术语表204
20.4 挑战练习204
第四部分 计算机科学简介
第21章 数据结构207
21.1 数据结构207
21.2 栈207
21.3 使用栈逆转字符串210
21.4 队列211
21.5 购票队列213
21.6 术语表215
21.7 挑战练习216
第22章 算法217
22.1 FizzBuzz217
22.2 顺序搜索218
22.3 回文词219
22.4 变位词220
22.5 计算字母频数220
22.6 递归221
22.7 术语表223
22.8 挑战练习224
第五部分 找到工作
第23章 最佳编程实践227
23.1 写代码是最后的手段227
23.2 DRY227
23.3 正交性227
23.4 每个数据都只应保存在
一处228
23.5 函数只做一件事228
23.6 若耗费时间过长,你的做法
很可能就是错的228
23.7 第一次就要用最佳的方法
完成228
23.8 遵循惯例229
23.9 使用强大的IDE229
23.10 记录日志230
23.11 测试230
23.12 代码审查230
23.13 安全231
23.14 术语表232
第24章 第一份编程工作233
24.1 选择方向233
24.2 积累初期经验234
24.3 拿到面试机会234
24.4 面试234
24.5 面试技巧235
第25章 团队协作237
25.1 掌握基础237
25.2 提问前请先搜索237
25.3 修改代码238
25.4 冒名顶替综合征238
第26章 更多学习资料239
26.1 经典书籍239
26.2 在线课堂239
26.3 骇客新闻240
第27章 下一步241
27.1 找到导师241
27.2 加深理解241
27.3 其他建议242