好好学Python:从零基础到项目实战

好好学Python:从零基础到项目实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

适合初学者的Python 3.9编程书籍,基础与实践并重,丰富示例、案例,通俗易懂。

内容简介

本书以Python 3.9为编程工具,完整系统地介绍了Python语言编程的方方面面。主要包括Python语言的基础语法和基本概念、列表和元组操作,函数、面向对象编程,异常处理操作,文件操作,数据库操作,网络编程,各章提供了丰富的练习题与小案例,最后还提供了多个项目案例,基础与实践并重,通俗易懂,面向初学Python和想了解新版本新特性的读者。本书特点示例丰富,有趣有料,结合生活中的小事件作为模拟情景来让一门语言学习起来更容易。适合于想学习Python的开发、运维、测试人员,以及培训机构及大专院教学参考书。

章节目录

封面页

书名页

版权页

内容简介

前言

目录

第1章 开始Python之旅

1.1 Python的起源

1.2 Python的应用场合

1.3 Python 3.9的新特性

1.4 如何学习Python

1.5 构建Python开发环境

1.5.1 在Windows系统中安装Python

1.5.2 在Linux、UNIX系统和Mac中安装Python

1.5.3 其他版本

1.6 从Hello World开始

1.7 调试

1.8 答疑解惑

1.9 课后思考与练习

第2章 Python编程基础

2.1 认识程序

2.1.1 程序

2.1.2 调试

2.1.3 语法错误——南辕北辙

2.1.4 运行错误——突然停止

2.1.5 语义错误——答非所问

2.2 数据类型

2.2.1 整型

2.2.2 浮点型

2.2.3 复数

2.2.4 数据类型转换

2.2.5 常量

2.3 变量和关键字

2.3.1 变量

2.3.2 变量名称

2.3.3 Python关键字

2.4 语句

2.5 表达式

2.6 运算符和操作对象

2.6.1 什么是运算符和操作对象

2.6.2 算术运算符

2.6.3 比较运算符

2.6.4 赋值运算符

2.6.5 位运算符

2.6.6 逻辑运算符

2.6.7 成员运算符

2.6.8 身份运算符

2.6.9 运算符的优先级

2.7 字符串操作

2.8 注释

2.9 牛刀小试——九九乘法表逆实现

2.10 调试

2.11 答疑解惑

2.12 课后思考与练习

第3章 列表和元组

3.1 通用序列操作

3.1.1 索引

3.1.2 分片

3.1.3 序列相加

3.1.4 乘法

3.1.5 成员资格

3.1.6 长度、最小值和最大值

3.2 列表

3.2.1 更新列表

3.2.2 嵌套列表

3.2.3 列表方法

3.3 元组

3.3.1 tuple()函数

3.3.2 元组的基本操作

3.3.3 元组内置函数

3.4 列表与元组的区别

3.5 牛刀小试——实现杨辉三角

3.6 调试

3.7 答疑解惑

3.8 课后思考与练习

第4章 字符串

4.1 字符串的简单操作

4.2 字符串格式化

4.2.1 经典的字符串格式化符号——百分号(%)

4.2.2 元组的字符串格式化

4.2.3 format字符串格式化

4.2.4 f字符串格式化

4.2.5 f-string字符串格式化

4.3 字符串方法

4.3.1 split()方法

4.3.2 strip()方法

4.3.3 join()方法

4.3.4 find()方法

4.3.5 lower()方法

4.3.6 upper()方法

4.3.7 replace()方法

4.3.8 swapcase()方法

4.3.9 translate()方法

4.3.10 移除前缀和后缀方法

4.4 牛刀小试——变形金刚

4.5 调试

4.6 答疑解惑

4.7 课后思考与练习

第5章 字典和集合

5.1 字典的使用

5.2 创建和使用字典

5.2.1 dict()函数

5.2.2 字典的基本操作

5.2.3 字典和列表比较

5.3 字典方法

5.3.1 get()方法

5.3.2 keys()方法

5.3.3 values()方法

5.3.4 key in dict方法

5.3.5 update()方法

5.3.6 clear()方法

5.3.7 copy()方法

5.3.8 fromkeys()方法

5.3.9 items()方法

5.3.10 setdefault()方法

5.4 字典合并与更新运算符

5.5 集合

5.5.1 创建集合

5.5.2 集合方法

5.6 牛刀小试——字典合并与排序

5.7 调试

5.8 答疑解惑

5.9 课后思考与练习

第6章 条件、循环和其他语句

6.1 使用文本编辑器

6.2 import的使用

6.2.1 import语句

6.2.2 使用逗号输出

6.3 别样的赋值

6.3.1 序列解包

6.3.2 链式赋值

6.3.3 增量赋值

6.4 语句块

6.5 条件语句

6.5.1 布尔变量的作用

6.5.2 if语句

6.5.3 else子句

6.5.4 elif子句

6.5.5 嵌套代码块

6.5.6 更多操作

6.5.7 断言

6.6 循环

6.6.1 while循环

6.6.2 for循环

6.6.3 循环遍历字典元素

6.6.4 迭代工具

6.6.5 跳出循环

6.6.6 循环中的else子句

6.7 pass语句

6.8 牛刀小试(1)——猜字游戏编写

6.9 牛刀小试(2)——平方数

6.10 Python程序调试

6.11 答疑解惑

6.12 课后思考与练习

第7章 函数

7.1 调用函数

7.2 定义函数

7.3 函数的参数

7.3.1 必须参数

7.3.2 关键字参数

7.3.3 默认参数

7.3.4 可变参数

7.3.5 组合参数

7.3.6 仅通过位置指定的参数

7.4 执行流程

7.5 形参和实参

7.6 变量的作用域

7.6.1 局部变量

7.6.2 全局变量

7.7 有返回值和无返回值函数

7.8 为什么要引入函数

7.9 返回函数

7.10 递归函数

7.11 匿名函数

7.12 偏函数

7.13 牛刀小试(1)——经典排序之快速排序实现

7.14 牛刀小试(2)——时间装饰器

7.15 调试

7.16 答疑解惑

7.17 课后思考与练习

第8章 面向对象编程

8.1 理解面向对象编程

8.2 类的定义与使用

8.2.1 类的定义

8.2.2 类的使用

8.3 深入类

8.3.1 类的构造方法

8.3.2 类的访问权限

8.4 继承

8.5 多态

8.6 封装

8.7 多重继承

8.8 获取对象信息

8.9 类的专有方法

8.10 牛刀小试(1)——出行建议

8.11 牛刀小试(2)——判断一棵树是否为二叉搜索树

8.12 调试

8.13 答疑解惑

8.14 课后思考与练习

第9章 异常处理

9.1 什么是异常

9.2 异常处理

9.3 抛出异常

9.4 捕捉多个异常

9.5 使用一个块捕捉多个异常

9.6 捕捉对象

9.7 全捕捉

9.8 异常中的else

9.9 自定义异常

9.10 finally子句

9.11 异常和函数

9.12 牛刀小试——正常数和异常数

9.13 Bug的由来

9.14 课后思考与练习

第10章 日期和时间

10.1 日期和时间

10.1.1 时间戳

10.1.2 时间格式化符号

10.1.3 struct_time元组

10.2 time模块

10.2.1 time()函数

10.2.2 strftime()函数

10.2.3 strptime()函数

10.2.4 localtime()函数

10.2.5 sleep()函数

10.2.6 gmtime()函数

10.2.7 mktime()函数

10.2.8 asctime()函数

10.2.9 ctime()函数

10.2.10 三种时间格式转化

10.3 datetime模块

10.4 日历模块

10.5 牛刀小试——时间大杂烩

10.6 调试

10.7 课后思考与练习

第11章 正则表达式

11.1 认识正则表达式

11.2 re模块

11.2.1 re.match函数

11.2.2 re.search方法

11.2.3 re.match与re.search的区别

11.3 贪婪模式和非贪婪模式

11.4 替换

11.5 编译

11.6 牛刀小试(1)——匹配比较

11.7 牛刀小试(2)——文本解析

11.8 课后思考与练习

第12章 文件操作

12.1 打开文件

12.1.1 文件模式

12.1.2 缓存

12.2 基本文件方法

12.2.1 读和写

12.2.2 读写行

12.2.3 关闭文件

12.2.4 文件重命名

12.2.5 删除文件

12.3 对文件内容进行迭代

12.3.1 按字节处理

12.3.2 按行操作

12.3.3 使用fileinput实现懒加载式迭代

12.3.4 文件迭代器

12.4 StringIO函数

12.5 序列化与反序列化

12.5.1 一般序列化与反序列化

12.5.2 JSON序列化与反序列化

12.6 牛刀小试——批量更改文件名

12.7 调试

12.8 答疑解惑

12.9 课后思考与练习

第13章 多线程编程

13.1 线程和进程

13.1.1 进程

13.1.2 线程

13.1.3 多线程与多进程

13.2 使用线程

13.2.1 全局解释器锁

13.2.2 退出线程

13.2.3 Python的线程模块

13.3 _thread模块

13.4 threading模块与Thread类

13.4.1 threading模块

13.4.2 Thread类

13.5 线程同步

13.6 线程优先级队列

13.7 线程与进程比较

13.7.1 线程切换

13.7.2 计算密集型与IO密集型

13.7.3 异步IO

13.8 牛刀小试——多线程简单爬虫

13.9 调试

13.10 答疑解惑

13.11 课后思考与练习

第14章 发送和接收电子邮件

14.1 电子邮件介绍

14.2 发送邮件

14.2.1 SMTP发送邮件

14.2.2 发送HTML格式的邮件

14.2.3 发送带附件的邮件

14.2.4 发送图片

14.2.5 同时支持HTML和Plain格式

14.2.6 加密SMTP

14.3 POP3接收邮件

14.3.1 POP3下载邮件

14.3.2 解析邮件

14.4 牛刀小试——邮件发送通用化

14.5 调试

14.6 答疑解惑

14.7 课后思考与练习

第15章 网络编程

15.1 初识网络编程

15.2 TCP/IP简介

15.3 网络设计模块

15.3.1 socket简介

15.3.2 socket模块

15.3.3 socket对象(内建)方法

15.4 TCP编程

15.4.1 客户端编程

15.4.2 服务器编程

15.5 UDP编程

15.6 urllib模块

15.6.1 GET请求

15.6.2 POST请求

15.7 牛刀小试——模拟浏览器

15.8 调试

15.9 答疑解惑

15.10 课后思考与练习

第16章 GUI编程

16.1 GUI简介

16.1.1 常用GUI库简介

16.1.2 安装tkinter

16.2 概念介绍

16.2.1 窗口和控件

16.2.2 事件驱动处理

16.2.3 布局管理器

16.3 tkinter的控件

16.3.1 Button控件

16.3.2 Checkbutton控件

16.3.3 Label控件

16.3.4 Text控件

16.3.5 Menu控件

16.4 tkinter组合控件

16.5 牛刀小试——计算器开发

16.6 调试

16.7 答疑解惑

16.8 课后思考与练习

第17章 操作数据库

17.1 数据库介绍

17.2 Python数据库API

17.2.1 全局变量

17.2.2 异常

17.2.3 连接和游标

17.2.4 类型

17.3 数据库操作

17.3.1 数据库连接

17.3.2 创建数据库表

17.3.3 数据库插入

17.3.4 数据库查询

17.3.5 数据库更新

17.3.6 数据库删除

17.4 事务

17.5 调试

17.6 答疑解惑

17.7 课后思考与练习

第18章 网络爬虫项目

18.1 了解爬虫

18.2 爬虫的原理

18.3 爬虫常用的几种技巧

18.3.1 基本方法

18.3.2 使用代理服务器

18.3.3 Cookie处理

18.3.4 伪装成浏览器

18.3.5 登录

18.4 爬虫示例——抓取豆瓣电影Top250影评数据

18.4.1 确定URL格式

18.4.2 页面抓取

18.4.3 提取相关信息

18.4.4 写入文件

18.4.5 完善代码

18.5 项目小结

第19章 自然语言分词与词频统计项目

19.1 概念介绍

19.1.1 SQLAlchemy简介

19.1.2 pyecharts简介

19.1.3 jieba分词库简介

19.1.4 BeautifulSoup库简介

19.2 库的安装与使用

19.2.1 SQLAlchemy的安装与使用

19.2.2 pyecharts的安装与使用

19.2.3 jieba分词库的安装与使用

19.2.4 BeautifulSoup的安装与使用

19.3 分词与词频统计实战

19.3.1 整体结构设计

19.3.2 数据结构设计

19.3.3 数据的爬取与保存

19.3.4 制定关键词库

19.3.5 词频统计与图表生成

19.4 分词与词频统计完整代码实现与结果查看

19.5 项目小结

第20章 区块链项目

20.1 区块链简介

20.1.1 区块链的定义

20.1.2 区块链的特点

20.1.3 区块链应用行业及领域

20.2 区块链代码结构设计

20.2.1 环境准备

20.2.2 代码结构设计

20.3 区块链具体逻辑实现

20.3.1 块结构

20.3.2 加入交易

20.3.3 创建新块

20.3.4 工作量证明的理解

20.3.5 工作量证明的实现

20.4 API接口层开发

20.4.1 发送交易

20.4.2 挖矿

20.4.3 返回整个区块链

20.5 运行区块链

20.6 分布式实现

20.6.1 注册节点

20.6.2 实现共识算法

20.7 完整项目代码与执行

20.8 项目小结

第21章 图片处理项目

21.1 图片处理基本库简介

21.2 读取图片大小

21.3 图片完好性检测

21.4 相同图片检测

21.5 项目小结

第22章 不同格式文件处理

22.1 TXT文件读写

22.2 CSV文件读写

22.3 XLSX文件读写

22.3.1 使用xlrd模块读取Excel数据

22.3.2 使用openpyxl模块写数据

22.4 JSON文件读写

22.5 Word文件读写

22.6 XML文件读写

22.7 读取CSV文件数据并插入MySQL数据库

22.8 项目小结

附录A

A.1 数学函数

A.2 随机函数

A.3 三角函数

A.4 Python字符串内建函数

A.5 列表方法

A.6 字典内置方法

A.7 正则表达式模式

好好学Python:从零基础到项目实战是2021年由清华大学出版社出版,作者 刘艳。

得书感谢您对《好好学Python:从零基础到项目实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python网络爬虫从入门到精通 电子书
适读人群 :Python语言初学者;网络爬虫技术爱好者;数据分析从业人士 内容全面,结构清晰:本书详细介绍了网络爬虫技术的方方面面,讨论了数据抓取、数据处理和数据分析的整个流程。全书结构清晰,坚持理论知识与实践操作结合。 循序渐进,生动简洁:从简单的Python程序示例开始,在网络爬虫的核心主题之下一步步深入,兼顾内容的广度与深度。在行文中,使用生动简洁的阐述方式,力争详略得当。 示例丰富,实战性强:网络爬虫是实践性、操作性非常强的技术,本书将提供丰富的代码来作为读者的参考,同时对必要的术语和代码进行解释。从生活实际出发,选取实用性、趣味性兼具的主题进行网络爬虫实践。
Python从入门到精通(精粹版) 电子书
本书以零基础读者为对象,用范例引导读者学习,深入浅出地介绍了Python的相关知识和实战技能。本书从Python基础入手,介绍了Python的开发环境、各种数据类型的操作方法、流程控制、函数等Python内核技术,以及使用Python处理文件、处理错误与异常等各种应用,最后列举了Python在重要领域的项目实战,内容系统且深入。本书提供与内容同步的教学录像。此外,本书还赠送大量相关学习资料,以便读
Flutter基础与实战:从入门到APP跨平台开发 电子书
本书旨在帮助读者快速入门Flutter、掌握Flutter开发技能,从而具备一定的Flutter跨平台开发能力。
FlutterApp开发:从入门到实战 电子书
本书系统讲解使用Flutter进行跨平台开发应具备的知识,包含丰富的代码示例与效果图片,组件功能一目了然。
从0到1:Python数据分析 电子书
本书详尽介绍了Pytho数据分析的基础知识,以及开发技巧。