新書推薦:
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
自伤自恋的精神分析
》
售價:NT$
240.0
《
大宋悬疑录:貔貅刑
》
售價:NT$
340.0
《
不被大风吹倒
》
售價:NT$
300.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
东野圭吾:分身(东野圭吾无法再现的双女主之作 奇绝瑰丽、残忍又温情)
》
售價:NT$
295.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
|
編輯推薦: |
这是一本容易学会、学以致用的书。
一本好书,只有读完才有收获。
学习中怕的是密密麻麻的文字、晦涩的文字,I这会人读不下去,时不时让人想放弃。
为此,本书采用丰富而结构化的层次,采用短段、短句,希望读者阅读时有一种顺水行舟的轻快感。
此特色,可能在买书时,感觉并不明显;但在使用,将真真实实体会到它的好。
|
內容簡介: |
全书共分为4篇:第1篇,包括了解Python、配置机器及搭建开发环境、语言规则;第2篇,介绍了Python语言的基础操作,包括变量与操作、控制流、函数操作、错误与异常、文件操作;第3篇,介绍了更高级的Python语法知识及应用,包括面向对象编程、系统调度编程;第4篇,是对前面知识的综合及实际应用,包括爬虫实战、自动化实战、机器学习实战、人工智能实战。本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合Python语言的初学者和进阶读者,作为自学教程阅读。另外,本书也适合社会培训学校作为培训教材使用,还适合大中专院校的相关专业作为教学参考书。
|
關於作者: |
李金洪,精通c、c++、汇编、python、java、go等语言。擅长神经网络、算法、协议分析、逆向、移动互联网安全架构等技术,先后担任过CAD算法工程师、手机游戏主程、架构师、项目经理、CTO、部门经理、资深产品总监等职位,也曾自主创业过。
|
目錄:
|
---------------第1 篇 入门---------------
▇ 第1 章 了解Python
1.1 了解Python 的历史
1.2 Python 可以做什么
1.3 Python 在数据科学中的地位及前景
1.4 如何使用本书
▇第2 章 配置机器及搭建开发环境
★ 本章教学视频说明
2.1 Python 版本及开发环境介绍
∣2.1.1 Python 的运行方式
∣2.1.2 常见的集成开发环境(IDE)
2.2 下载及安装Anaconda
2.3 熟悉Anaconda 3 开发工具
∣2.3.1 快速了解Spyder
∣2.3.2 快速了解Jupyter Notebook
2.4 实例1:运行Python 程序,并传入参数
∣2.4.1 在Spyder 中新建Python 文件,编写代码,运行代码
∣2.4.2 用命令行启动Python 程序,并传入参数
∣2.4.3 用Spyder 启动Python 程序,并传入参数
▇ 第3 章 语言规则Python 的条条框框
★ 本章教学视频说明
3.1 了解编程语言的分类
3.2 基础规则
∣3.2.1 了解Python 源代码相关的几个概念
∣3.2.2 语句的基本规则:变量、语句、代码块
∣3.2.3 添加注释
∣3.2.4 使用Python 的帮助
3.3 代码文件的结构
∣3.3.1 模块
∣3.3.2 包
3.4 模块的详细介绍
∣3.4.1 模块的作用及分类
∣3.4.2 模块的基本使用方法
∣3.4.3 模块的搜索路径
∣3.4.4 模块的属性
∣3.4.5 模块名字的可变性
∣3.4.6 模块的常规写法
3.5 模块的四种导入方式
∣3.5.1 import as 方式
∣3.5.2 from import 方式
∣3.5.3 from import * 方式
∣3.5.4 导入文件名中带空格的模块
3.6 实例2:封装获取系统信息的模块,并将其导入
∣3.6.1 在当前代码中的函数与模块中的函数同名情况下,导入模块
∣3.6.2 在模块与当前代码不在同一路径的情况下,导入模块
∣3.6.3 导入上级路径的模块
---------------第2 篇 进阶---------------
▇ 第4 章 变量编写代码的基石
★ 本章教学视频说明
4.1 什么是变量
4.2 了解变量的规则
∣4.2.1 明白变量的本质对象
∣4.2.2 同时定义多个变量
∣4.2.3 变量类型介绍
∣4.2.4 变量类型的帮助函数
4.3 numbers(数字)类型
∣4.3.1 获取对象的类型
∣4.3.2 算术运算符
∣4.3.3 实例3:演示算术运算符的使用
∣4.3.4 赋值运算符
∣4.3.5 实例4:演示赋值运算符的使用
∣4.3.6 比较运算符
∣4.3.7 实例5:演示比较运算符的使用
∣4.3.8 慎用is 函数
∣4.3.9 实例6:演示Python 的缓存机制
∣4.3.10 布尔型关系的运算符
∣4.3.11 位运算符
∣4.3.12 实例7:演示位运算符的使用
4.4 strings(字符串)类型
∣4.4.1 字符串的描述
∣4.4.2 转义符
∣4.4.3 屏幕IO 及格式化
∣4.4.4 实例8:以字符串为例,演示序列类型的运算及操作
∣4.4.5 关于切片的特殊说明
∣4.4.6 字符串的相关函数
4.5 list(列表)类型
∣4.5.1 list 的运算及操作
∣4.5.2 list 的内置方法
∣4.5.3 实例9:演示list 使用中的技巧及注意事项
∣4.5.4 列表嵌套
∣4.5.5 实例10:使用list 类型实现队列和栈
∣4.5.6 实例11:使用函数filter 筛选列表筛选学生列表中的偏科学生名单
4.6 tuple(元组)类型
∣4.6.1 tuple 的描述
∣4.6.2 运算及操作
∣4.6.3 实例12:演示tuple 的用法
4.7 set(集合)类型
∣4.7.1 set 的描述
∣4.7.2 set 的运算
∣4.7.3 set 的内置方法
∣4.7.4 不可变集合
4.8 dictionary(字典)类型
∣4.8.1 字典的描述
∣4.8.2 字典的运算
∣4.8.3 字典的内置方法
4.9 对组合对象进行深拷贝和浅拷贝
∣4.9.1 浅拷贝
∣4.9.2 深拷贝
▇ 第5 章 控制流控制执行顺序的开关
★ 本章教学视频说明
5.1 if 语句
∣5.1.1 语句形式
∣5.1.2 演示if 语句的使用
∣5.1.3 实例13:根据来访人的性别选择合适的称呼
5.2 while 语句
∣5.2.1 语句形式
∣5.2.2 演示while 语句的使用
∣5.2.3 实例14:将十进制数转化为二进制数
5.3 for 语句
∣5.3.1 语句形式
∣5.3.2 在for 循环中,使用切片
∣5.3.3 在for 循环中,使用内置函数range
∣5.3.4 实例15:利用循环实现冒泡排序
∣5.3.5 在for 循环中,使用内置函数zip
∣5.3.6 在for 循环中,使用内置函数enumerate
5.4 对循环进行控制break、continue、pass 语句
5.5 实例16:演示人机对话中的控制流程(综合应用前面语句)
5.6 利用for 循环实现列表推导式
5.7 实例17:利用循环来打印九九乘法表
5.8 理解for 循环的原理迭代器
▇ 第6 章 函数功能化程序片段的封装
★ 本章教学视频说明
6.1 函数的基本概念
∣6.1.1 函数的定义
∣6.1.2 函数的组成部分
∣6.1.3 函数的参数:形参与实参
∣6.1.4 函数的返回值
∣6.1.5 函数的属性
∣6.1.6 函数的本质
∣6.1.7 函数的分类
∣6.1.8 实例18:打印两个心形图案
6.2 定义参数及调用函数
∣6.2.1 函数参数的定义方法与调用形式
∣6.2.2 在函数调用中检查参数
∣6.2.3 函数调用中的参数传递及影响
6.3 匿名函数与可迭代函数
∣6.3.1 匿名函数与可迭代函数的介绍
∣6.3.2 匿名函数与reduce 函数的组合应用
∣6.3.3 匿名函数与map 函数的组合应用
∣6.3.4 匿名函数与filter 函数的组合应用
∣6.3.5 可迭代函数的返回值
6.4 偏函数
6.5 递归函数
6.6 eval 与exec 函数
∣6.6.1 eval 与exec 的区别
∣6.6.2 eval 与exec 的定义
∣6.6.3 exec 和eval 的使用经验
∣6.6.4 eval 与exec 的扩展知识
6.7 实例19:批量测试转化函数(实现组合对象与字符串的相互转化)
∣6.7.1 编写两个功能函数
∣6.7.2 编写单元测试用例
∣6.7.3 批量运行单元测试用例
6.8 生成器函数
∣6.8.1 生成器与迭代器的区别
∣6.8.2 生成器函数
∣6.8.3 生成器表达式
6.9 变量的作用域
∣6.9.1 作用域介绍
∣6.9.2 global 语句
∣6.9.3 nonlocal 语句
6.10 工厂函数
∣6.10.1 普通工厂函数的实现
∣6.10.2 闭合函数(closure)
∣6.10.3 装饰器(decorator)
∣6.10.4 @修饰符
∣6.10.5 更高级的装饰器
∣6.10.6 解决同作用域下默认参数被覆盖问题
▇ 第7 章 错误与异常调教出听话的程序
★ 本章教学视频说明
7.1 错误的分类
∣7.1.1 语法错误
∣7.1.2 运行时错误
7.2 异常的基本语法
∣7.2.1 同时处理多个异常
∣7.2.2 异常处理中的else 语句
∣7.2.3 输出未知异常
∣7.2.4 输出异常的详细信息
7.3 捕获与处理异常
∣7.3.1 异常的处理流程
∣7.3.2 try 语句的工作原理
∣7.3.3 一些常见的异常
7.4 创建异常
∣7.4.1 创建异常的方法
∣7.4.2 创建异常举例
7.5 异常的最终处理(清理动作)
∣7.5.1 finally 的使用场景
∣7.5.2 finally 与else 的区别
7.6 判定条件的正确性(断言)
∣7.6.1 断言的表达形式
∣7.6.2 带错误信息的断言语句
7.7 实例20:如HTTP 请求失败,实现重试功能
∣7.7.1 使用装饰器实现失败重试
∣7.7.2 编写简单爬虫
∣7.7.3 传入正确的目的地址,开始爬取
∣7.7.4 传入错误的目的地址,验证重试功能
▇ 第8 章 文件操作数据持久化的一种方法
★ 本章教学视频说明
8.1 文件的基本操作
∣8.1.1 读写文件的一般步骤
∣8.1.2 打开文件
∣8.1.3 具体读写
∣8.1.4 关闭文件
8.2 文件对象的方法
∣8.2.1 文件对象的常用方法介绍
∣8.2.2 把文件对象当作迭代器来读取
8.3 实例21:带有异常处理的文件操作
8.4 使用with 语句简化代码
∣8.4.1 实例22:使用with 语句操作文件
∣8.4.2 with 语法的原理
8.5 实现字符串与二进制数的相互转化
∣8.5.1 将字符串转二进制数
∣8.5.2 将二进制数转字符串
8.6 将任意对象序列化
∣8.6.1 pickle 函数
∣8.6.2 实例23:用pickle 函数实现元组与二进制对象二进制对象文件之间的转换
∣8.6.3 序列化的扩展方法(ZODB 模块)
8.7 实例24:批量读取及显示CT 医疗影像数据
∣8.7.1 DICOM 介绍
∣8.7.2 Python 中的DICOM 接口模块
∣8.7.3 编写代码以载入DICOM 文件
∣8.7.4 读取DICOM 中的数值
∣8.7.5 显示单张DICOM 数据图像
∣8.7.6 批量生成DICOM 数据图像
---------------第3 篇 高阶---------------
▇ 第9 章 类面向对象的编程方案
★ 本章教学视频说明
9.1 类的相关术语及实现
∣9.1.1 创建类
∣9.1.2 创建类属性
∣9.1.3 定义类的动态属性
∣9.1.4 限制类属性(__slots__)
9.2 实例化类对象
∣9.2.1 带有初始值的实例化
∣9.2.2 class 中的self
∣9.2.3 类方法(@classmethod)与静态方法(@staticmethod)
∣9.2.4 类变量与实例变量的区别
∣9.2.5 销毁类实例化对象
9.3 类变量的私有化类属性
∣9.3.1 公有化(public)与私有化(private)
∣9.3.2 私有化的实现
∣9.3.3 使用装饰器技术实现类的私有化(@property)
9.4 实现子类
∣9.4.1 继承
∣9.4.2 实例25:演示类的继承
∣9.4.3 super 函数
∣9.4.4 实例26:演示super 函数的功能
9.5 类相关的常用内置函数
∣9.5.1 判断实例(isinstance)
∣9.5.2 判断子类(issubclass)
∣9.5.3 判断类实例中是否含有某个属性(hasattr)
∣9.5.4 获得类实例中的某个属性(getattr)
∣9.5.5 设置类实例中的某个属性值(setattr)
9.6 重载运算符
∣9.6.1 重载运算符的方法与演示
∣9.6.2 可重载的运算符
9.7 包装与代理
∣9.7.1 包装
∣9.7.2 代理
∣9.7.3 实例27:使用代理的方式实现RESTful API 接口
9.8 自定义异常类
∣9.8.1 自定义异常类的方法
∣9.8.2 实例28:自定义异常类的多重继承与使用
9.9 支持with 语法的自定义类
∣9.9.1 实现支持with 语法的类
∣9.9.2 实例29:代码实现自定义类,并使其支持with 语法
9.10 自定义迭代器类的实现与调试技巧
∣9.10.1 实例30:自定义迭代器,实现字符串逆序
∣9.10.2 调试技巧
9.11 元类(MetaClass)
∣9.11.1 Class 的实现原理
∣9.11.2 元类的介绍
▇ 第10 章 系统调度实现高并发的处理任务
★ 本章教学视频说明
10.1 进程与线程
10.2 线程
∣10.2.1 线程的创建及原理
∣10.2.2 互斥锁
∣10.2.3 实例31:使用信号量来同步多线程间的顺序关系
∣10.2.4 实例32:实现基于事件机制的消息队列
∣10.2.5 实例33:使用条件锁同步多线程中的生产者与消费者关系
∣10.2.6 实例34:创建定时器触发程序,在屏幕上输出消息
∣10.2.7 实例35:使用线程池提升运行效率
∣10.2.8 需要创建多少个线程才算合理
10.3 进程
∣10.3.1 实例36:创建多进程的程序
∣10.3.2 多进程与多线程的区别
10.4 协程
∣10.4.1 协程的相关概念及实现步骤
∣10.4.2 实例37:使用协程实现任务提交与结果接收
10.5 应该选择线程,还是协程
10.6 实例38:使用协程批量修改文件扩展名
---------------第4 篇 商业实战---------------
▇ 第11 章 爬虫实战(实例39):批量采集股票数据,并保存到Excel 中
11.1 爬取股票代码
∣11.1.1 找到目标网站
∣11.1.2 打开调试窗口,查看网页代码
∣11.1.3 在网页源码中找到目标元素
∣11.1.4 分析目标源代码,找出规律
∣11.1.5 编写代码抓取股票代码
∣11.1.6 运行代码,显示结果
11.2 爬取股票内容
∣11.2.1 编写代码抓取批量内容
∣11.2.2 运行代码显示结果
11.3 爬虫项目的其他技术
▇ 第12 章 自动化实战(实例40):读取Excel 数据文件,并用可视化分析
12.1 使用Pandas 读取Excel 文件,并用Matplotlib 生成大盘走势图
12.2 使用Pandas 处理数据并绘制成图
∣12.2.1 使用Pandas 处理数据
∣12.2.2 绘制直方图和折线图
12.3 自动化数据处理的其他技术
▇ 第13 章 机器学习实战(实例41):从一组看似混乱的数据中找出y2x 的规律 .8
13.1 准备数据
13.2 训练模型并实现可视化
∣13.2.1 训练模型
∣13.2.2 利用模型进行预测
∣13.2.3 了解线性回归模型的内部原理
∣13.2.4 将模型可视化
13.3 评估模型
∣13.3.1 评估模型的基本思路
∣13.3.2 用代码实现模型评估
13.4 保存模型,应用模型
13.5 机器学习的方向
▇ 第14 章 人工智能实战(实例42):基于人脸识别的来访登记系统
14.1 安装案例所依赖的模块
14.2 安装及使用dlib 模块
14.3 安装及使用face_recognition 模块
14.4 安装及使用opencv 模块
14.5 安装及使用yagmail 模块
14.6 详细设计
∣14.6.1 需求描述
∣14.6.2 定义系统的输入和输出
∣14.6.3 系统规则及约束
∣14.6.4 结构体设计
∣14.6.5 软件的主体架构图
∣14.6.6 软件的主体流程介绍
14.7 编码实现
∣14.7.1 导入模块
∣14.7.2 定义结构体
∣14.7.3 实现发送邮件函数
∣14.7.4 实现邮件内容生成函数
∣14.7.5 实现过滤并保存来访记录的函数
∣14.7.6 实现定时器处理函数
∣14.7.7 在主线程中启动定时器线程
∣14.7.8 实现并调用函数载入人脸库
∣14.7.9 在主循环里调用摄像头,并进行人脸识别
14.8 运行程序
14.9 下一步对系统的改进
附录A 内置函数
|
內容試閱:
|
1. 大量的教学视频:
为了让读者更好地学习本书,作者给每一章内容都录制了教学视频(一共47段共429分钟)。借助这些视频,读者可以更轻松地学习。
2. 大量的典型应用实例,实战性强,有较高的应用价值:
本书提供了42个Python相关的实战案例,理论讲解最终都落实到代码实现上。而且这些案例会伴随着图书内容的推进,不断地趋近于工程化项目的风格,具有很高的应用价值和参考性。
3. 完整的源代码和配套素材:
书中所有的代码都提供了免费下载,读者学习更方便。
另外,读者可以方便地获得书中案例的相关安装包和素材:如果是来源于网站的,则提供了有效下载链接;如果是作者制作的,则在随书资源中直接提供了。
4. 语法规则覆盖广:
本书几乎囊括了Python 3版本中所涉及的全部语法规则,读者在系统学习之后,仍可将其当作一本Python语法工具书长伴左右,遇到生僻语法时及时查阅。
5. 商业案例,应用性强:
本书提供的案例多数来源于真正的商业项目,具有高度的参考价值。有些代码甚至可以直接移植到自己的项目中,进行重复使用。使从学到用这个过程变得更加直接。
6. 大量宝贵经验的分享:
授人以鱼,不如授之以渔。本书在讲解知识时,更注重方法与经验的传递。全书共有几十个注意标签,其中的内容都是含金量很高的成功经验分享与易错事项总结,有关于经验技巧的,有关于风险规避的,可以帮助读者在学习的路途上披荆斩棘,快速融会贯通。
|
|