
零基础学Python
《零基础学 Python》是针对零基础编程学习者研发的 Python 入门教程。从初学者角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了使用 IDLE 及 Python 框架进行程式管理的知识和技术。全书共分 17 章,包括初识 Python、Python 语言基础、流程控制语句、序列的套用、Pygame 游戏编程、网路爬虫开发、智慧星答题测试系统等。书中所有知识都结合具体实例进行讲解,涉及的程式代码给出了详细的注释,可以使读者轻鬆领会 Python 程式开发的精髓,快速提高资料库管理技能。
基本介绍
- 书名:零基础学Python
- 作者:明日科技
- ISBN: 978-7-5692-2225-8
- 页数:464页
- 定价:79.80元
- 出版社:吉林大学出版社
- 出版时间:2018年4月
- 开本:16开
图书亮点
1、124个经典实例+1箇中型项目+1个大型项目
2、零基础入门经典,实例贴近生活
3、全彩印刷,还原真实开发环境
4、赠送数字电子书,随时随地想学就学
5、赠送程式源码
6、作者团队线上答疑
前言
Python 是由荷兰人Guido van Rossum 发明的一种面向对象的解释型高级程式语言,可以把用其他语言製作的各种模组(如C 语言、C++)很轻鬆地联结在一起,所以Python 又被称为“胶水”语言。 Python 语法简洁、清晰,代码可读性强,编程模式符合人类的思维方式和习惯,很多学校都开设了这门课程,甚至有些国小也开设了Python 课程。您还在等什幺呢?快快加入Python 开发者的阵营吧!
内容简介
本书通过大量实例及一个完整项目案例,帮助读者更好地巩固所学知识,提升能力;在百度云盘中给出了本书的视频讲解、实例及项目源码、实战源码,方便读者学习;书中设定了200 多个二维码,扫描二维码观看视频讲解,解决学习疑难;不易理解的专业术语、代码难点,只需用手机App 扫描文字下方的 e 学码便可获得更多扩展解释,随时扫除学习障碍。此外,登录明日学院网站还可以获得更多学习资源和技术支持。图书与二维码+ e 学码 + 明日学院,实现立体化、全方位的教学模式,降低编程门槛,让零基础者轻鬆跨入编程领域。
目录
入 门 篇
第1章 初识Python 1
视频讲解:30分钟
精彩实例:2个
e学码:12个
1.1 Python概述 2
1.1.1 了解Python 2
1.1.2 Python的版本 2
1.1.3 Python的套用领域 5
1.2 搭建Python开发环境 8
1.2.1 Python开发环境概述 8
1.2.2 安装Python 8
1.2.3 第一个Python程式 12
实例01 在命令行视窗中输出“人生
苦短,我用Python” 12
苦短,我用Python” 12
实例02 在IDLE中输出“人生苦短,
我用Python” 13
我用Python” 13
1.3 Python开发工具 15
1.3.1 使用自带的IDLE 15
1.3.2 常用的第三方开发工具 17
1.4 难点解答 19
1.4.1 为什幺提示“'python'不是内部
或外部命令……” 19
或外部命令……” 19
1.4.2 如何在Python互动模式中运行
.py档案 21
.py档案 21
1.5 实战 21
实战一:输出“人因梦想而伟大” 21
实战二:输出台阶 22
实战三:输出个性微信签名 22
实例四:列印田字格 22
1.6 小结 22
第2章 Python语言基础 23
视频讲解:1小时28分钟
精彩实例:7个
e学码:14个
2.1 Python语法特点 24
2.1.1 注释 24
2.1.2 代码缩进 27
2.1.3 编码规範 29
2.2 保留字与标识符 31
2.2.1 保留字 31
2.2.2 标识符 32
2.3 变数 33
2.3.1 理解Python中的变数 33
2.3.2 变数的定义与使用 34
2.4 基本数据类型 35
2.4.1 数字类型 35
实例01 根据身高、体重计算BMI指数 37
2.4.2 字元串类型 38
实例02 输出007号坦克 39
2.4.3 布尔类型 40
2.4.4 数据类型转换 40
实例03 模拟超市抹零结账行为 41
2.5 运算符 42
2.5.1 算术运算符 42
实例04 计算学生成绩的分差及
平均分 43
平均分 43
2.5.2 赋值运算符 44
2.5.3 比较(关係)运算符 44
实例05 使用比较运算符比较大小
关係 45
关係 45
2.5.4 逻辑运算符 46
实例06 参加手机店的打折活动 46
2.5.5 位运算符 47
2.5.6 运算符的优先权 49
2.6 基本输入和输出 50
2.6.1 使用input()函式输入 51
实例07 根据身高、体重计算BMI
指数(改进版) 51
指数(改进版) 51
2.6.2 使用print()函式输出 52
2.7 实战 53
实战一:模拟手机充值场景 53
实战二:绘製《植物大战殭尸》中的
石头怪 53
石头怪 53
实战三:根据父母的身高预测儿子的身高 54
实战四:根据总步数计算消耗的热量值 54
2.8 小结 54
第3章 流程控制语句 55
视频讲解:54分钟
精彩实例:9个
e学码:4个
3.1 程式结构 56
3.2 选择语句 57
3.2.1 最简单的if语句 57
实例01 判断输入的是不是黄蓉
所说的数 58
所说的数 58
3.2.2 if…else语句 59
实例02 验证瑛姑给出的答案是否
正确 60
正确 60
3.2.3 if…elif…else语句 62
实例03 输出玫瑰花语 63
3.2.4 if语句的嵌套 64
实例04 判断是否为酒后驾车 65
3.3 条件表达式 66
3.4 循环语句 66
3.4.1 while循环 67
实例05 助力瑛姑 ①:while循环版
解题法 67
解题法 67
3.4.2 for循环 68
实例06 助力瑛姑 ②:while循环版
解题法 69
解题法 69
3.4.3 循环嵌套 71
实例07 列印九九乘法表 72
3.5 跳转语句 72
3.5.1 break语句 73
实例08 助力瑛姑 ③:for循环改进版
解题法 74
解题法 74
3.5.2 continue语句 74
实例09 逢七拍腿游戏 75
3.6 pass空语句 76
3.7 实战 76
实战一:模拟支付宝蚂蚁森林的能量
产生过程 76
产生过程 76
实战二:猜数字游戏 77
实战三:模拟“跳一跳”小游戏的加分块 77
实战四:模拟10086查询功能 78
3.8 小结 78
第4章 序列的套用 79
视频讲解:1小时57分钟
精彩实例:14个
e学码:16个
4.1 序列 80
4.1.1 索引(Indexing) 80
4.1.2 切片(Sliceing) 81
4.1.3 序列相加(Adding) 81
4.1.4 乘法(Multiplying) 82
4.1.5 检查某个元素是否是序列的成员 83
4.1.6 计算序列的长度、最大值和
最小值 83
最小值 83
4.2 列表(list) 84
4.2.1 列表的创建和删除 85
4.2.2 访问列表元素 86
实例01 输出每日一帖 87
4.2.3 遍历列表 88
实例02 分两列显示2017~2018赛季
NBA西部联盟前八名的球队 89
NBA西部联盟前八名的球队 89
4.2.4 添加、修改和删除列表元素 90
实例03 向NBA名人堂列表中追加
2018年新进入的球星 91
2018年新进入的球星 91
4.2.5 对列表进行统计和计算 93
4.2.6 对列表进行排序 94
4.2.7 列表推导式 96
4.2.8 二维列表的使用 98
实例04 使用二维列表输出不同版式
的古诗 100
的古诗 100
4.3 元组(tuple) 101
4.3.1 元组的创建和删除 101
实例05 使用元组保存咖啡馆里提供
的咖啡名称 103
的咖啡名称 103
4.3.2 访问元组元素 104
实例06 使用for循环列出咖啡馆里
的咖啡名称 105
的咖啡名称 105
实例07 分两列显示2017~2018赛季
NBA西部联盟前八名球队 105
NBA西部联盟前八名球队 105
4.3.3 修改元组元素 106
实例08 将麝香猫咖啡替换为拿铁
咖啡 106
咖啡 106
4.3.4 元组推导式 107
4.3.5 元组与列表的区别 109
4.4 字典(dictionary) 109
4.4.1 字典的创建和删除 110
实例09 创建一个保存女神星座的
字典 111
字典 111
4.4.2 通过键值对访问字典 113
实例10 根据星座测试性格特点 115
4.4.3 遍历字典 115
4.4.4 添加、修改和删除字典元素 116
4.4.5 字典推导式 118
实例11 套用字典推导式实现根据
名字和星座创建一个字典 118
名字和星座创建一个字典 118
4.5 集合(set) 119
4.5.1 集合的创建 119
实例12 创建保存学生选课信息的
集合 120
集合 120
4.5.2 集合的添加和删除 121
实例13 学生更改选学课程 122
4.5.3 集合的交集、并集和差集运算 123
实例14 对选课集合进行交集、并集
和差集运算 123
和差集运算 123
4.6 列表、元组、字典和集合的区别 124
4.7 实战 124
实战一:输出“王者荣耀”的游戏角色 124
实战二:模拟火车订票系统 125
实战三:电视剧的收视率排行榜 125
实战四:定製自己的手机套餐 126
4.8 小结 126
第5章 字元串及正则表达式 127
视频讲解:50分钟
精彩实例:10个
e学码:5个
5.1 字元串常用操作 128
5.1.1 拼接字元串 128
实例01 使用字元串拼接输出一个
关于程式设计师的笑话 129
关于程式设计师的笑话 129
5.1.2 计算字元串的长度 129
5.1.3 截取字元串 130
实例02 截取身份证号码中的出生日期 131
5.1.4 分割、合併字元串 132
实例03 输出被@的好友名称 133
实例04 通过好友列表生成全部被
@的好友 134
@的好友 134
5.1.5 检索字元串 134
5.1.6 字母的大小写转换 137
实例05 不区分大小写验证会员名
是否唯一 138
是否唯一 138
5.1.7 去除字元串中的空格和特殊字元 139
5.1.8 格式化字元串 141
实例06 格式化不同的数值类型数据 144
5.2 字元串编码转换 144
5.2.1 使用encode()方法编码 145
5.2.2 使用decode()方法解码 145
5.3 正则表达式 146
5.3.1 行定位符 146
5.3.2 元字元 147
5.3.3 限定符 147
5.3.4 字元类 148
5.3.5 排除字元 148
5.3.6 选择字元 148
5.3.7 转义字元 149
5.3.8 分组 149
5.3.9 在Python中使用正则表达式语法 149
5.4 使用re模组实现正则表达式操作 150
5.4.1 匹配字元串 150
实例07 验证输入的手机号码是否为
中国移动的号码 152
中国移动的号码 152
实例08 验证是否出现危险字元 153
5.4.2 替换字元串 155
实例09 替换出现的危险字元 156
5.4.3 使用正则表达式分割字元串 156
实例10 输出被@的好友名称(套用
正则表达式) 157
正则表达式) 157
5.5 实战 157
实战一:列印象棋口诀 157
实战二:判断车牌归属地 158
实战三:模拟微信抢红包 158
实战四:显示实时天气预报 158
5.6 小结 158
进 阶 篇
第6章 函式 159
视频讲解:57分钟
精彩实例:6个
e学码:2个
6.1 函式的创建和调用 160
6.1.1 创建一个函式 160
6.1.2 调用函式 161
实例01 输出每日一帖(共享版) 162
6.2 参数传递 163
6.2.1 了解形式参数和实际参数 163
实例02 根据身高、体重计算BMI
指数(共享版) 164
指数(共享版) 164
6.2.2 位置参数 165
6.2.3 关键字参数 167
6.2.4 为参数设定默认值 167
6.2.5 可变参数 169
实例03 根据身高、体重计算BMI
指数(共享升级版) 170
指数(共享升级版) 170
6.3 返回值 172
实例04 模拟结账功能—计算实付
金额 173
金额 173
6.4 变数的作用域 174
6.4.1 局部变数 174
6.4.2 全局变数 175
实例05 一棵松树的梦 175
6.5 匿名函式(lambda) 177
实例06 套用lambda实现对爬取到的
秒杀商品信息进行排序 178
秒杀商品信息进行排序 178
6.6 实战 179
实战一:导演为剧本选主角 179
实战二:模拟美团外卖商家的套餐 179
实战三:根据生日判断星座 179
实战四:将美元转换为人民币 180
6.7 小结 180
第7章 面向对象程式设计 181
视频讲解:1小时
精彩实例:5个
e学码:3个
7.1 面向对象概述 182
7.1.1 对象 182
7.1.2 类 183
7.1.3 面向对象程式设计的特点 183
7.2 类的定义和使用 184
7.2.1 定义类 185
7.2.2 创建类的实例 185
7.2.3 创建__init__()方法 186
7.2.4 创建类的成员并访问 187
实例01 创建大雁类并定义飞行
方法 188
方法 188
实例02 通过类属性统计类的实例
个数 189
个数 189
7.2.5 访问限制 192
7.3 属性(property) 193
7.3.1 创建用于计算的属性 193
7.3.2 为属性添加安全保护机制 194
实例03 在模拟电影点播功能时
套用属性 195
套用属性 195
7.4 继承 196
7.4.1 继承的基本语法 197
实例04 创建水果基类及其派生类 197
7.4.2 方法重写 198
7.4.3 派生类中调用基类的
__init__()方法 199
__init__()方法 199
实例05 在派生类中调用基类的
__init__()方法定义类属性 200
__init__()方法定义类属性 200
7.5 实战 201
实战一:修改手机默认语言 201
实战二:给信用卡设定默认密码 201
实战三:列印每月销售明细 202
实战四:模拟电影院的自动售票机
选票页面 202
选票页面 202
7.6 小结 202
第8章 模组 203
视频讲解:46分钟
精彩实例:4个
e学码:5个
8.1 模组概述 204
8.2 自定义模组 205
8.2.1 创建模组 205
实例01 创建计算BMI指数的模组 205
8.2.2 使用import语句导入模组 206
8.2.3 使用from…import语句导入
模组 207
模组 207
实例02 导入两个包括同名函式的
模组 207
模组 207
8.2.4 模组搜寻目录 209
8.3 以主程式的形式执行 211
8.4 Python中的包 213
8.4.1 Python程式的包结构 213
8.4.2 创建和使用包 214
实例03 在指定包中创建通用的设定
和获取尺寸的模组 216
和获取尺寸的模组 216
8.5 引用其他模组 217
8.5.1 导入和使用标準模组 217
实例04 生成由数字、字母组成的
4位验证码 217
4位验证码 217
8.5.2 第三方模组的下载与安装 219
8.6 实战 220
实战一:大乐透号码生成器 220
实战二:春节集五福 221
实战三:封装用户的上网行为 221
实战四:计算个人所得税 222
8.7 小结 222
第9章 异常处理及程式调试 223
视频讲解:33分钟
精彩实例:4个
e学码:3个
9.1 异常概述 224
实例01 模拟幼稚园分苹果 224
9.2 异常处理语句 225
9.2.1 try…except语句 226
实例02 模拟幼稚园分苹果(除数
不能为0) 226
不能为0) 226
9.2.2 try…except…else语句 229
9.2.3 try…except…f inally语句 230
9.2.4 使用raise语句抛出异常 231
实例03 模拟幼稚园分苹果(每个人
至少分到一个苹果) 231
至少分到一个苹果) 231
9.3 程式调试 232
9.3.1 使用自带的IDLE进行程式调试 233
9.3.2 使用assert语句调试程式 234
实例04 模拟幼稚园分苹果(套用
断言调试) 235
断言调试) 235
9.4 小结 236
第10章 档案及目录操作 237
视频讲解:1小时05分钟
精彩实例:6个
e学码:3个
10.1 基本档案操作 238
10.1.1 创建和打开档案 238
实例01 创建并打开记录蚂蚁庄园
动态的档案 239
动态的档案 239
10.1.2 关闭档案 241
10.1.3 打开档案时使用with语句 241
10.1.4 写入档案内容 242
实例02 向蚂蚁庄园的动态档案写入
一条信息 242
一条信息 242
10.1.5 读取档案 244
实例03 显示蚂蚁庄园的动态 245
实例04 逐行显示蚂蚁庄园的动态 246
10.2 目录操作 248
10.2.1 os和os.path模组 248
10.2.2 路径 250
10.2.3 判断目录是否存在 252
10.2.4 创建目录 253
10.2.5 删除目录 255
10.2.6 遍历目录 256
实例05 遍历指定目录 257
10.3 高级档案操作 257
10.3.1 删除档案 258
10.3.2 重命名档案和目录 259
10.3.3 获取档案基本信息 260
实例06 获取档案基本信息 261
10.4 实战 262
实战一:根据当前时间创建档案 262
实战二:批量添加资料夹 263
10.5 小结 264
第11章 使用Python运算元据库 265
视频讲解:50分钟
精彩实例:8个
e学码:5个
11.1 资料库编程接口 266
11.1.1 连线对象 266
11.1.2 游标对象 267
11.2 使用SQLite 268
11.2.1 创建资料库档案 268
实例01 创建SQLite资料库档案 268
11.2.2 操作SQLite 269
实例02 新增用户数据信息 270
实例03 使用3种方式查询用户数据
信息 271
信息 271
实例04 修改用户数据信息 272
实例05 删除用户数据信息 273
11.3 使用MySQL 273
11.3.1 下载安装MySQL 273
11.3.2 安装PyMySQL 278
11.3.3 连线资料库 278
实例06 使用PyMySQL连线资料库 278
11.3.4 创建数据表 279
实例07 创建books图书表 279
11.3.5 操作MySQL数据表 280
实例08 向books图书表添加图书
数据 280
数据 280
11.4 实战 282
实战一:获取指定数据表中的信息 282
实战二:查找指定年份之后的图书
信息 282
信息 282
实战三:批量删除指定的图书信息 282
11.5 小结 282
高 级 篇
第12章 GUI界面编程 283
视频讲解:50分钟
精彩实例:5个
e学码:6个
12.1 初识GUI 284
12.1.1 什幺是GUI 284
12.1.2 常用的GUI框架 284
12.1.3 安装 wxPython 285
12.2 创建应用程式 285
12.2.1 创建一个wx.App的子类 286
12.2.2 直接使用wx.App 287
12.2.3 使用wx.Frame框架 287
12.3 常用控制项 288
12.3.1 StaticText文本类 289
实例01 使用wx.StaticText输出
Python之禅 289
Python之禅 289
12.3.2 TextCtrl输入文本类 291
实例02 使用wx.TextCtrl实现登录
界面 292
界面 292
12.3.3 Button按钮类 292
实例03 为登录界面添加“确认”
和“取消”按钮 293
和“取消”按钮 293
12.4 BoxSizer布局 294
12.4.1 什幺是BoxSizer 294
12.4.2 使用BoxSizer布局 294
实例04 使用BoxSizer设定登录
界面布局 296
界面布局 296
12.5 事件处理 297
12.5.1 什幺是事件 297
12.5.2 绑定事件 298
实例05 使用事件判断用户登录 298
12.6 小结 300
第13章 Pygame游戏编程 301
视频讲解:1小时
精彩实例:1个
e学码:4个
13.1 初识Pygame 302
13.1.1 安装Pygame 302
13.1.2 Pygame常用模组 303
13.2 Pygame的基本套用 304
实例01 製作一个跳跃的小球游戏 304
13.3 开发Flappy Bird游戏 310
13.3.1 游戏简介 310
13.3.2 游戏分析 310
13.3.3 搭建主框架 310
13.3.4 创建小鸟类 312
13.3.5 创建管道类 314
13.3.6 计算得分 316
13.3.7 碰撞检测 318
13.4 小结 320
第14章 网路爬虫开发 321
视频讲解:1小时30分钟
e学码:20个
14.1 网路爬虫概述 322
14.2 网路爬虫的常用技术 322
14.2.1 Python的网路请求 322
14.2.2 请求headers处理 325
14.2.3 网路逾时 327
14.2.4 代理服务 328
14.2.5 HTML解析之Beautiful Soup 328
14.3 网路爬虫开发常用框架 331
14.3.1 Scrapy爬虫框架 331
14.3.2 Crawley爬虫框架 331
14.3.3 PySpider爬虫框架 332
14.4 实战项目:快手爬票 332
14.4.1 快手爬票概述 332
14.4.2 搭建QT环境 333
14.4.3 主窗体设计 335
14.4.4 分析网页请求参数 343
14.4.5 下载站名档案 345
14.4.6 车票信息的请求与显示 347
14.5 小结 354
第15章 Web编程 355
视频讲解:30分钟
精彩实例:2个
e学码:15个
15.1 Web基础 356
15.1.1 HTTP协定 356
15.1.2 Web伺服器 356
15.1.3 前端基础 358
15.1.4 静态伺服器 361
实例01 创建“明日学院”网站静态
伺服器 361
伺服器 361
15.2 WSGI接口 365
15.2.1 CGI简介 365
15.2.2 WSGI简介 366
15.2.3 定义WSGI接口 367
15.2.4 运行WSGI服务 367
实例02 创建“明日学院”网站课程
页面 367
页面 367
15.3 小结 370
第16章 常用Web框架 371
视频讲解:1小时
精彩实例:4个
e学码:8个
16.1 Web框架简介 372
16.1.1 什幺是Web框架 372
16.1.2 Python常用的Web框架 372
16.2 Flask框架的使用 373
16.2.1 安装虚拟环境 373
16.2.2 安装Flask 374
16.2.3 第一个Flask程式 375
实例01 输出“Hello World!” 376
16.2.4 开启调试模式 377
16.2.5 路由 377
实例02 根据参数输出相应信息 377
实例03 使用url_for()函式获取
URL信息 378
URL信息 378
16.2.6 静态档案 380
16.2.7 模板 380
实例04 渲染模板 380
16.3 Django框架的使用 384
16.3.1 安装Django Web框架 384
16.3.2 创建一个Django项目 386
16.3.3 创建APP 388
16.3.4 数据模型(models) 389
16.3.5 管理后台 394
16.3.6 路由(urls) 395
16.3.7 表单(forms) 397
16.3.8 视图(views) 398
16.3.9 Django模板 400
16.4 小结 402
实 战 篇
第17章 智慧星答题测试系统
(Django框架+Bootstrap +MySQL+Redis实现) 403
(Django框架+Bootstrap +MySQL+Redis实现) 403
视频讲解:1小时20分钟
e学码:6个
17.1 系统功能设计 404
17.1.1 了解项目整体开发流程 404
17.1.2 系统功能结构 404
17.1.3 系统业务流程 404
17.1.4 系统预览 406
17.2 系统开发必备 407
17.2.1 系统开发环境 407
17.2.2 资料夹组织结构 407
17.3 资料库设计 408
17.3.1 资料库概要说明 408
17.3.2 数据表模型 410
17.4 用户登录模组设计 412
17.4.1 用户登录模组概述 412
17.4.2 使用Django默认授权机制
实现普通登录 412
实现普通登录 412
17.4.3 基于Oauth2.0的微信登录的实现 420
17.4.4 机构注册功能的实现 422
17.5 核心答题功能的设计 428
17.5.1 答题首页设计 428
17.5.2 比赛详情页面 431
17.5.3 答题功能的实现 435
17.5.4 提交答案 439
17.5.5 批量录入题库 442
17.6 小结 448