Python基础教程(附教学视频)

Python
分享 推荐 2 收藏 88 阅读 8.2K
吕云翔 (作者) 978-7-115-49126-8

关于本书的内容有任何问题,请联系 刘佳

作者在高校从事计算机教学多年,有过在高校教书、留学和企业工作的经验,目前已出版的书籍有多本。相信本书无论是在内容上及渠道上都比竞争对手更具有优势。
本书的目标非常明确,就是为初学编程的读者提供一套以兴趣为导向的 Python 教程,其中包含以下特点:
1. 非常适合初学者:针对0基础优化,涉及到编程的基本理论的时候会通过举例来让读者体会这么做的必要性,然后再讲解原理。让读者不要被自己错误的想法带偏。
2. 基于 Python 3.6:要学就学最新的,本书会在基础 Python 3 讲解过程中加入 Python 3.6的新特性,让读者体会最新版 Python 带来的便捷。
3. 基于实践的理论学习: 根据我们所了解,很多读者学习存在一个误区,就是书看完了就觉得看懂了,一动手就抓瞎。Talk is cheap, show me the code! 以实践开始,迫使大家去练习,可能是一种不错的解决方案。实际上,在非初学者眼里,一门语言的使用并不需要看完一本书,而是通过简单的了解一些示例然后写一点代码练手,再把教材当工具书查一查就可以完全掌握一门语言。对于新手也是一样,实践才是王道。理论是出自实践的,只有让新手完成了实践,才能更好的理解理论。
4. 习题设计:通过小练习和一个大的积累项目完成所有知识的学习和串通,会使得读者更有成就感,最后可以收获一个大项目

内容摘要

本书中,第1~8章为Python语言基础,主要介绍 Python 的基本用法,第 9 章为一个实战,帮助读者理解前 8 章的知识,第10~17 章为 Python 的进阶使用,包含面向对象编程、函数式编程入门、文件读写、异常处理、模块和包几个部分,第 18 章为第二个实战,帮助读者融会贯通前17章的知识,同时抛砖引玉引起读者探索的兴趣。

目录

第1章 欢迎来到Python的世界 1
1.1 Python是什么 1
1.1.1 Python 是一门语言 1
1.1.2 Python是一个工具 1
1.1.3 Python是一瓶胶水 1
1.2 获取Python 2
1.2.1 Windows 2
1.2.2 Linux 4
1.2.3 macOS 4
1.2.4 Android 7
1.2.5 iOS 8
1.3 初试Python 9
1.4 Python的优点 10
1.4.1 简洁优美 10
1.4.2 上手简单 11
1.4.3 应用广泛 11
1.4.4 平台独立 11
1.5 Python的应用 11
小结 12
习题 13
第2章 写Python代码的工具 14
2.1 交互式解释器 14
2.2 IPython 14
2.3 IDLE 16
2.4 PyCharm 19
2.4.1 安装PyCharm 20
2.4.2 初始化PyCharm 21
2.4.3 创建第一个项目 21
小结 25
习题 25
第3章 强大的包管理器pip 26
3.1 包 26
3.2 包管理器 26
3.3 pip 27
3.3.1 pip3 search 27
3.3.2 pip3 list 28
3.3.3 pip3 check 28
3.3.4 pip3 download 29
3.3.5 pip3 install 29
3.3.6 pip3 freeze 29
3.3.7 pip3 uninstall 30
小结 30
习题 30
第4章 基本计算 31
4.1 四则运算 31
4.2 数值类型 31
4.2.1 整型(integer) 32
4.2.2 浮点型(float) 33
4.2.3 复数类型(complex) 34
4.2.4 布尔型(bool) 34
4.3 数值类型转换 34
4.4 变量 35
4.4.1 什么是变量 35
4.4.2 声明变量 36
4.4.3 动态类型 36
4.4.4 命名规则 36
4.5 运算符 36
4.5.1 算术运算符 37
4.5.2 比较运算符和逻辑运算符 37
4.5.3 赋值运算符 38
4.5.4 复合赋值运算符 39
4.5.5 位运算符 40
4.5.6 运算符优先级 46
小结 47
习题 47
第5章 控制语句 48
5.1 执行结构 48
5.2 控制语句 49
5.2.1 顺序结构 49
5.2.2 选择结构 50
5.2.3 循环结构 52
5.2.4 Break,Continue,Pass 54
小结 55
习题 55
第6章 字符串与输入 56
6.1 字符串表示 56
6.2 转义字符 57
6.3 格式化字符串 58
6.4 字符串输入 61
6.5 字符串运算 61
6.6 字符串内建方法 62
6.6.1 count(sub[, start[, end]]) 63
6.6.2 find(sub[, start[, end]]) 63
6.6.3 isalpha() 和 isdigit() 63
6.6.4 join(iterable) 63
6.6.5 lstrip([chars]), rstrip([chars]) 和 strip([chars]) 63
6.6.6 split(sep=None, maxsplit=-1) 64
6.6.7 startswith(prefix[, start[, end]]) 64
6.6.8 zfill(width) 64
小结 64
习题 65
第7章 Tuple,List,Dict 66
7.1 什么是数据结构 66
7.2 Tuple(元组) 67
7.2.1 切片 67
7.2.2 修改 69
7.2.3 遍历 70
7.2.4 查找 70
7.2.5 内置函数 70
7.3 List(列表) 71
7.3.1 添加 71
7.3.2 删除 71
7.3.3 修改 72
7.3.4 排序和翻转 73
7.3.5 推导式 74
7.4 Dict(字典) 74
7.4.1 访问 75
7.4.2 修改 76
7.4.3 添加 76
7.4.4 删除 77
7.4.5 遍历 77
7.5 嵌套 78
7.6 字符串与Tuple 79
7.6.1 访问 79
7.6.2 遍历 79
小结 79
习题 80
第8章 函数 81
8.1 认识Python的函数 81
8.2 函数的定义和调用 81
8.2.1 定义 81
8.2.2 调用 82
8.3 函数的参数 82
8.3.1 默认参数 83
8.3.2 任意位置参数 84
8.3.3 任意键值参数 84
8.3.4 组合使用 84
8.3.5 修改传入的参数 86
8.4 函数的返回值 88
8.4.1 返回一个值 88
8.4.2 什么都不返回 88
8.4.3 返回多个值 88
8.5 函数的嵌套 89
8.5.1 作用域 89
8.5.2 global和nonlocal 90
8.6 使用轮子 91
8.6.1 随机库 91
8.6.2 日期库 91
8.6.3 数学库 92
8.6.4 操作系统库 92
8.6.5 第三方库 92
8.6.6 文档 92
小结 93
习题 93
第9章 实战1:2048小游戏 94
9.1 规则简介 94
9.2 创建项目 96
9.3 代码设计 97
9.3.1 棋盘存储 97
9.3.2 棋盘移动 97
9.3.3 用户交互 99
9.4 代码实现 101
9.4.1 棋盘定义 101
9.4.2 棋盘初始化 101
9.4.3 棋盘移动——向下 102
9.4.4 生成新数字 104
9.4.5 其他方向判断和移动 104
9.4.6 检查所有方向移动 107
9.4.7 用户界面 108
9.4.8 用户操作处理 109
9.4.9 处理用户的操作 110
9.4.10 游戏主体逻辑 111
9.5 提升游戏体验 111
小结 113
习题 113
第10章 Python编码规范 114
10.1 PEP 8 114
10.1.1 代码布局 114
10.1.2 命名规范 118
10.1.3 自动检查调整 119
10.2 PEP 484 120
10.2.1 类型提示 120
10.2.2 PyCharm中的类型提示 121
10.2.3 扩展的类型提示 122
10.3 PEP 526 122
小结 123
习题 123
第11章 面向对象编程 124
11.1 面向对象 124
11.1.1 类 124
11.1.2 对象 125
11.1.3 类和对象的关系 125
11.1.4 面向过程还是对象 126
11.2 类的定义 127
11.2.1 类名 127
11.2.2 属性 127
11.2.3 方法 128
11.3 特殊的实例方法 131
11.3.1 初始化和析构 131
11.3.2 转字符串 132
11.3.3 实现运算符 133
小结 134
习题 134
第12章 封装、继承和多态 135
12.1 封装 135
12.1.1 使用slots 135
12.1.2 访问控制 135
12.2 继承 137
12.2.1 父类与子类 137
12.2.2 私有属性和方法 138
12.2.3 单继承和多继承 140
12.2.4 覆盖父类方法 140
12.2.5 调用父类方法 141
12.3 多态 142
小结 143
习题 143
第13章 生成器与迭代器 145
13.1 初探迭代器 145
13.2 生成器 146
13.3 迭代器 151
13.3.1 可迭代对象 151
13.3.2 迭代器 152
13.4 生成器推导式 152
小结 153
习题 153
第14章 函数式编程 154
14.1 匿名函数 154
14.2 高阶函数 154
14.2.1 map 154
14.2.2 filter 155
14.2.3 reduce 156
14.3 闭包 156
14.4 装饰器 158
小结 162
习题 162
第15章 文件读写 163
15.1 打开文件 163
15.1.1 file 163
15.1.2 mode 164
15.1.3 encoding 165
15.2 关闭文件 165
15.3 读文件 166
15.3.1 read 166
15.3.2 readline 166
15.3.3 readlines 167
15.3.4 迭代 167
15.4 写文件 168
15.4.1 write和writelines 168
15.4.2 flush 168
15.5 定位读写 168
15.5.1 tell 168
15.5.2 seek 168
15.6 数据序列化 169
15.6.1 Pickle 169
15.6.2 JSON 170
15.7 文件系统操作 172
15.7.1 os.listdir(path='.') 172
15.7.2 os.mkdir(path, mode=0o777) 172
15.7.3 os.makedirs(name, mode=0o777, exist_ok=False) 172
15.7.4 os.remove(path) 173
15.7.5 os.rmdir(path) 173
15.7.6 os.removedirs(name) 173
15.7.7 os.rename(src, dst) 173
15.7.8 os.path.exists(path) 173
15.7.9 os.path.isfile(path) 173
15.7.10 os.path.join(path, paths) 173
15.7.11 os.path.split(path) 174
小结 174
习题 174
第16章 异常处理 175
16.1 什么是异常 175
16.1.1 错误(Bug) 175
16.1.2 异常(Exception) 175
16.2 捕获异常 176
16.3 抛出异常 178
16.3.1 raise 178
16.3.2 调用栈 179
16.3.3 内建异常 179
16.3.4 传递异常 180
16.4 断言 181
16.5 实现自定义异常 182
16.6 with关键字 183
16.6.1 上下文管理器 183
16.6.2 上下文管理协议 183
16.6.3 一个例子:计时器 184
小结 184
习题 185
第17章 模块和包 186
17.1 模块 186
17.1.1 为什么需要模块 186
17.1.2 模块的导入 186
17.2 编写模块 187
17.2.1 第一个模块 187
17.2.2 __name__ 188
17.2.3 重载模块 189
17.3 包 189
17.3.1 为什么需要包 189
17.3.2 第一个包 189
17.3.3 打包与导入 191
小结 193
习题 193
第18章 实战2:微信聊天机器人 194
wxpy 194
应用场景 194
基本用法 194
创建机器人 194
给好友发送消息 195
保持运行 195
试一试 195
决定“吃啥” 197
关键词回复 198
智能聊天 198
完整代码 200
小结 201
习题 201
参考文献 202

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

吕云翔,北京航空航天大学副教授,教授软件工程、计算机英语、计算机导论等课程, 有多年的教学工作经验,并出版过多本计算机方面的教材。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部