计算机
类型
可以朗读
语音朗读
371千字
字数
2022-02-01
发行日期
展开全部
主编推荐语
Python编程入门的精炼指南。以具体编程范例讲解高效解决真实问题的宝典。
内容简介
这是一本Python入门书,本书的特色之一是在介绍Python编程的基础知识之后,通过具体编程范例,分不同的主题来阐释如何用Python语言高效编程,在帮助读者夯实基础的同时找到最佳解决方案,达到学以致用的目的。
本书内容由浅入深,从理论到实践,首先介绍Python编程的基本知识和编程范例,然后介绍如何进行性能优化、有效调试以及如何控制程序的流程。此外,本书还讲解了Python中的加密服务和安全令牌等知识。
通过学习本书,读者将对Python语言有一定的了解。本书能够帮助读者掌握如何编写程序、构建网站以及利用Python著名的数据科学库来处理数据等内容。
目录
- 版权信息
- 版权声明
- 内容提要
- 致谢
- 作者简介
- 感谢
- 序
- 前言
- 资源与支持
- 第1章 Python概述
- 1.1 编程预备知识
- 1.2 走近Python
- 1.3 Python的优点
- 1.3.1 可移植性
- 1.3.2 一致性
- 1.3.3 提高开发人员的效率
- 1.3.4 广泛的程序库
- 1.3.5 软件质量高
- 1.3.6 软件集成度高
- 1.3.7 满足感和乐趣
- 1.4 Python的缺点
- 1.5 当前的Python用户
- 1.6 设置环境
- Python 2和Python 3
- 1.7 安装Python
- 1.7.1 安装Python解释器
- 1.7.2 关于virtualenv
- 1.7.3 第一个虚拟环境
- 1.7.4 控制台
- 1.8 运行Python程序
- 1.8.1 运行Python脚本
- 1.8.2 在交互性shell中运行Python
- 1.8.3 以服务的形式运行Python
- 1.8.4 以GUI应用程序的形式运行Python
- 1.9 Python代码的组织方式
- 怎样使用模块和程序包
- 1.10 Python的执行模型
- 1.10.1 名称和名字空间
- 1.10.2 作用域
- 1.10.3 对象和类
- 1.11 编写良好代码的指导原则
- 1.12 Python的文化
- 1.13 关于IDE的说明
- 1.14 总结
- 第2章 内置的数据类型
- 2.1 一切都是对象
- 2.2 可变对象与不可变对象
- 2.3 数值
- 2.3.1 整数
- 2.3.2 布尔值
- 2.3.3 实数
- 2.3.4 复数
- 2.3.5 分数和小数
- 2.4 不可变序列
- 2.4.1 字符串和字节
- 2.4.2 元组
- 2.5 可变序列
- 2.5.1 列表
- 2.5.2 字节数组
- 2.6 集合类型
- 2.7 映射类型
- 2.8 collections模块
- 2.8.1 namedtuple
- 2.8.2 defaultdict
- 2.8.3 ChainMap
- 2.9 枚举
- 2.10 注意事项
- 2.10.1 小值缓存
- 2.10.2 如何选择数据结构
- 2.10.3 关于索引和截取
- 2.10.4 关于名称
- 2.11 总结
- 第3章 迭代和决策
- 3.1 条件编程
- 3.1.1 一种特化的else-elif
- 3.1.2 三元操作符
- 3.2 循环
- 3.2.1 for循环
- 3.2.2 迭代器和可迭代对象
- 3.2.3 对多个序列进行迭代
- 3.2.4 while循环
- 3.2.5 continue语句和break语句
- 3.2.6 一种特殊的else子句
- 3.3 综合应用
- 3.3.1 质数生成器
- 3.3.2 应用折扣
- 3.4 itertools模块
- 3.4.1 无限迭代器
- 3.4.2 终止于最短输入序列的迭代器
- 3.4.3 组合迭代器
- 3.5 总结
- 第4章 函数,代码的基本构件
- 4.1 函数的优点
- 4.1.1 减少代码的重复
- 4.1.2 分割复杂任务
- 4.1.3 隐藏实现细节
- 4.1.4 提高可读性
- 4.1.5 提高可追踪性
- 4.2 作用域和名称解析
- Global语句和nonlocal语句
- 4.3 输入参数
- 4.3.1 参数传递
- 4.3.2 对参数名称的赋值并不会影响调用者
- 4.3.3 修改可变对象会影响调用者
- 4.3.4 指定输入参数
- 4.4 返回值
- 返回多个值
- 4.5 一些实用的提示
- 4.6 递归函数
- 4.7 匿名函数
- 4.8 函数的属性
- 4.9 内置函数
- 4.10 最后一个例子
- 4.11 代码的文档
- 4.12 导入对象
- 相对导入
- 4.13 总结
- 第5章 节省时间和内存
- 5.1 map、zip和filter函数
- 5.1.1 map函数
- 5.1.2 zip函数
- 5.1.3 filter函数
- 5.2 解析
- 5.2.1 嵌套的解析
- 5.2.2 在解析中应用过滤
- 5.2.3 dict解析
- 5.2.4 set解析
- 5.3 生成器
- 5.3.1 生成器函数
- 5.3.2 next工作方式
- 5.3.3 yield from表达式
- 5.3.4 生成器表达式
- 5.4 性能上的考虑
- 5.5 不要过度使用解析和生成器表达式
- 5.6 名称局部化
- 5.7 内置的生成行为
- 5.8 最后一个例子
- 5.9 总结
- 第6章 面向对象编程、装饰器和迭代器
- 6.1 装饰器
- 装饰器工厂
- 6.2 面向对象编程(OOP)
- 6.2.1 Python中最简单的类
- 6.2.2 类和对象的名字空间
- 6.2.3 属性屏蔽
- 6.2.4 self变量
- 6.2.5 实例的初始化
- 6.2.6 OOP与代码复用有关
- 6.2.7 访问基类
- 6.2.8 多重继承
- 6.2.9 静态方法和类方法
- 6.2.10 私有属性和名称改写
- 6.2.11 property装饰器
- 6.2.12 操作符重载
- 6.2.13 多态——简单说明
- 6.2.14 数据类
- 6.3 编写自定义的迭代器
- 6.4 总结
- 第7章 文件和数据持久化
- 7.1 操作文件和目录
- 7.1.1 打开文件
- 7.1.2 读取和写入文件
- 7.1.3 检查文件和目录是否存在
- 7.1.4 对文件和目录进行操作
- 7.1.5 临时文件和临时目录
- 7.1.6 检查目录的内容
- 7.1.7 文件和目录的压缩
- 7.2 数据交换格式
- 使用JSON
- 7.3 IO、流和请求
- 7.3.1 使用内存中的流
- 7.3.2 执行HTTP请求
- 7.4 对磁盘上的数据进行持久化
- 7.4.1 使用pickle模块对数据进行序列化
- 7.4.2 用shelve保存数据
- 7.4.3 把数据保存到数据库
- 7.5 总结
- 第8章 测试、性能分析和异常处理
- 8.1 对应用程序进行测试
- 8.1.1 测试的结构
- 8.1.2 编写测试的指导原则
- 8.1.3 单元测试
- 8.1.4 测试一个CSV生成器
- 8.2 测试驱动的开发
- 8.3 异常
- 8.4 对Python进行性能分析
- 什么时候进行性能分析
- 8.5 总结
- 第9章 加密与标记
- 9.1 加密的需要
- 实用的指导原则
- 9.2 hashlib模块
- 9.3 secrets模块
- 9.3.1 随机数
- 9.3.2 标记的生成
- 9.3.3 摘要的比较
- 9.4 HMAC
- 9.5 JSON Web标记
- 9.5.1 已注册的诉求
- 9.5.2 使用非对称(公钥)算法
- 9.6 总结
- 第10章 并发执行
- 10.1 并发与平行的比较
- 10.2 线程和进程
- 10.2.1 线程的简要剖析
- 10.2.2 全局解释器锁
- 10.2.3 竞争条件和死锁
- 10.2.4 进程的简要剖析
- 10.2.5 多线程与多进程之间的区别
- 10.3 Python中的并发执行
- 10.3.1 启动线程
- 10.3.2 启动进程
- 10.3.3 终止线程和进程
- 10.3.4 生成多个线程
- 10.3.5 解决竞争条件
- 10.3.6 线程的局部数据
- 10.3.7 线程和进程的通信
- 10.3.8 线程池和进程池
- 10.3.9 使用进程为函数添加到期时间
- 10.4 案例
- 10.4.1 案例1:并发的mergesort
- 10.4.2 案例2:批量解答数独的程序
- 10.4.3 案例3:下载随机图像
- 10.5 总结
- 第11章 调试和故障排除
- 11.1 调试技巧
- 11.1.1 用print进行调试
- 11.1.2 用自定义函数进行调试
- 11.1.3 检查回溯
- 11.1.4 使用Python调试器
- 11.1.5 检查日志文件
- 11.1.6 其他技巧
- 11.1.7 去哪里寻找相关的信息
- 11.2 故障排除指南
- 11.2.1 使用控制台编辑器
- 11.2.2 选择合适的地方放置调试断点
- 11.2.3 使用测试进行调试
- 11.2.4 监视
- 11.3 总结
- 第12章 GUI和脚本
- 12.1 第1种方法:脚本
- 12.1.1 导入部分
- 12.1.2 解析参数
- 12.1.3 业务逻辑
- 12.2 第2种方法:GUI应用程序
- 12.2.1 导入部分
- 12.2.2 布局逻辑
- 12.2.3 业务逻辑
- 12.2.4 改进GUI应用程序
- 12.3 进一步了解GUI应用程序
- 12.3.1 turtle模块
- 12.3.2 wxPython、PyQt和PyGTK
- 12.3.3 最小惊讶原则
- 12.3.4 线程方面的考虑
- 12.4 总结
- 第13章 数据科学
- 13.1 IPython和Jupyter Notebook
- 13.1.1 安装必要的程序库
- 13.1.2 使用Anaconda
- 13.1.3 启动Notebook
- 13.2 处理数据
- 13.2.1 设置Notebook
- 13.2.2 准备数据
- 13.2.3 整理数据
- 13.2.4 创建DataFrame
- 13.2.5 把DataFrame保存到文件
- 13.2.6 显示结果
- 13.3 数据科学和Python的更多工具
- 13.4 总结
- 第14章 Web开发
- 14.1 Web
- 14.2 Web的工作方式
- 14.3 Django Web框架
- 14.3.1 Django的设计原则
- 14.3.2 Django的URL分配器
- 14.4 一个regex网站
- 14.4.1 安装Django
- 14.4.2 添加Entry模型
- 14.4.3 对管理员面板进行自定义
- 14.4.4 创建表单
- 14.4.5 编写视图
- 14.4.6 连接URL和视图
- 14.4.7 编写模板
- 14.5 Web开发的未来
- 14.5.1 编写Flask视图
- 14.5.2 用Falcon创建JSON语录服务器
- 14.6 总结
- 14.7 再见
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。