正在读取数据,页面载入中,请稍后...

零基础学Python

《零基础学Python》2018年吉林大学出版社出版的图书,零基础学 Python》是针对零基础编程学习者研发的 Python 入门教程。

从初学者角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了使用 IDLE 及 Python 框架进行程序管理的知识和技术。

全书共分 17 章,包括初识 Python、Python 语言基础、流程控制语句、序列的应用、Pygame 游戏编程、网络爬虫开发、智慧星答题测试系统等。

书中所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,可以使读者轻松领会 Python 程序开发的精髓,快速提高数据库管理技能。

图书亮点

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

实例02 在IDLE中输出“人生苦短,我用Python” 13

1.3 Python开发工具 15

1.3.1 使用自带的IDLE 15

1.3.2 常用的第三方开发工具 17

1.4 难点解答 19

1.4.1 为什么提示“'python'不是内部或外部命令……” 19

1.4.2 如何在Python交互模式中运行.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

2.5.2 赋值运算符 44

2.5.3 比较(关系)运算符 44

实例05 使用比较运算符比较大小

关系 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

2.6.2 使用print()函数输出 52

2.7 实战 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

3.2.2 if…else语句 59

实例02 验证瑛姑给出的答案是否正确 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

3.4.2 for循环 68

实例06 助力瑛姑 ②:while循环版解题法 69

3.4.3 循环嵌套 71

实例07 打印九九乘法表 72

3.5 跳转语句 72

3.5.1 break语句 73

实例08 助力瑛姑 ③:for循环改进版解题法 74

3.5.2 continue语句 74

实例09 逢七拍腿游戏 75

3.6 pass空语句 76

3.7 实战 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

4.2 列表(list) 84

4.2.1 列表的创建和删除 85

4.2.2 访问列表元素 86

实例01 输出每日一帖 87

4.2.3 遍历列表 88

实例02 分两列显示2017~2018赛季

NBA西部联盟前八名的球队 89

4.2.4 添加、修改和删除列表元素 90

实例03 向NBA名人堂列表中追加

2018年新进入的球星 91

4.2.5 对列表进行统计和计算 93

4.2.6 对列表进行排序 94

4.2.7 列表推导式 96

4.2.8 二维列表的使用 98

实例04 使用二维列表输出不同版式的古诗 100

4.3 元组(tuple) 101

4.3.1 元组的创建和删除 101

实例05 使用元组保存咖啡馆里提供的咖啡名称 103

4.3.2 访问元组元素 104

实例06 使用for循环列出咖啡馆里的咖啡名称 105

实例07 分两列显示2017~2018赛季

NBA西部联盟前八名球队 105

4.3.3 修改元组元素 106

实例08 将麝香猫咖啡替换为拿铁咖啡 106

4.3.4 元组推导式 107

4.3.5 元组与列表的区别 109

4.4 字典(dictionary) 109

4.4.1 字典的创建和删除 110

实例09 创建一个保存女神星座的字典 111

4.4.2 通过键值对访问字典 113

实例10 根据星座测试性格特点 115

4.4.3 遍历字典 115

4.4.4 添加、修改和删除字典元素 116

4.4.5 字典推导式 118

实例11 应用字典推导式实现根据

名字和星座创建一个字典 118

4.5 集合(set) 119

4.5.1 集合的创建 119

实例12 创建保存学生选课信息的集合 120

4.5.2 集合的添加和删除 121

实例13 学生更改选学课程 122

4.5.3 集合的交集、并集和差集运算 123

实例14 对选课集合进行交集、并集和差集运算 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

5.1.2 计算字符串的长度 129

5.1.3 截取字符串 130

实例02 截取身份证号码中的出生日期 131

5.1.4 分割、合并字符串 132

实例03 输出被@的好友名称 133

实例04 通过好友列表生成全部被@的好友 134

5.1.5 检索字符串 134

5.1.6 字母的大小写转换 137

实例05 不区分大小写验证会员名是否唯一 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

实例08 验证是否出现危险字符 153

5.4.2 替换字符串 155

实例09 替换出现的危险字符 156

5.4.3 使用正则表达式分割字符串 156

实例10 输出被@的好友名称(应用正则表达式) 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

6.2.2 位置参数 165

6.2.3 关键字参数 167

6.2.4 为参数设置默认值 167

6.2.5 可变参数 169

实例03 根据身高、体重计算BMI指数(共享升级版) 170

6.3 返回值 172

实例04 模拟结账功能—计算实付金额 173

6.4 变量的作用域 174

6.4.1 局部变量 174

6.4.2 全局变量 175

实例05 一棵松树的梦 175

6.5 匿名函数(lambda) 177

实例06 应用lambda实现对爬取到的秒杀商品信息进行排序 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

实例02 通过类属性统计类的实例个数 189

7.2.5 访问限制 192

7.3 属性(property) 193

7.3.1 创建用于计算的属性 193

7.3.2 为属性添加安全保护机制 194

实例03 在模拟电影点播功能时应用属性 195

7.4 继承 196

7.4.1 继承的基本语法 197

实例04 创建水果基类及其派生类 197

7.4.2 方法重写 198

7.4.3 派生类中调用基类的__init__()方法 199

实例05 在派生类中调用基类的__init__()方法定义类属性 200

7.5 实战 201

实战一:修改手机默认语言 201

实战二:给信用卡设置默认密码 201

实战三:打印每月销售明细 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

实例02 导入两个包括同名函数的模块 207

8.2.4 模块搜索目录 209

8.3 以主程序的形式执行 211

8.4 Python中的包 213

8.4.1 Python程序的包结构 213

8.4.2 创建和使用包 214

实例03 在指定包中创建通用的设置和获取尺寸的模块 216

8.5 引用其他模块 217

8.5.1 导入和使用标准模块 217

实例04 生成由数字、字母组成的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

9.2.2 try…except…else语句 229

9.2.3 try…except…f inally语句 230

9.2.4 使用raise语句抛出异常 231

实例03 模拟幼儿园分苹果(每个人至少分到一个苹果) 231

9.3 程序调试 232

9.3.1 使用自带的IDLE进行程序调试 233

9.3.2 使用assert语句调试程序 234

实例04 模拟幼儿园分苹果(应用断言调试) 235

9.4 小结 236

第10章 文件及目录操作 237

视频讲解:1小时05分钟

精彩实例:6个

e学码:3个

10.1 基本文件操作 238

10.1.1 创建和打开文件 238

实例01 创建并打开记录蚂蚁庄园动态的文件 239

10.1.2 关闭文件 241

10.1.3 打开文件时使用with语句 241

10.1.4 写入文件内容 242

实例02 向蚂蚁庄园的动态文件写入一条信息 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

实例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

11.4 实战 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

12.3.2 TextCtrl输入文本类 291

实例02 使用wx.TextCtrl实现登录界面 292

12.3.3 Button按钮类 292

实例03 为登录界面添加“确认”和“取消”按钮 293

12.4 BoxSizer布局 294

12.4.1 什么是BoxSizer 294

12.4.2 使用BoxSizer布局 294

实例04 使用BoxSizer设置登录界面布局 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

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

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

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

视频讲解: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

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

完结撒花

免责声明

全民百科词条内容由用户共同创建和维护,不代表全民百科立场。如果您需要医学、法律、投资理财等专业领域的建议,我们强烈建议您独自对内容的可信性进行评估,并咨询相关专业人士。