Python语言及其应用|(咨询特价) | |
图书定价: | 79 |
图书作者: | [美] 卢布诺维克(Bill Lubanovic) |
出版社: | 人民邮电出版社 |
出版日期: | (咨询特价)-01 0:(咨询特价) |
ISBN号: | 92 |
开本: | 16开 |
页数: | 383 |
版次: | 1-1 |
作者简介 |
Bill Lubanovic现为Penguin Computing公司高级软件工程师。1977年开始开发Unix软件,1981年开始开发GUI软件,1990年开始开发数据库软件,1993年开始开发Web软件。与人合著有Linux System Administration。 |
内容简介 |
本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于新版本3.x。书中首先介绍了Python 语言的一些基本知识,然后介绍了在商业、科研以及艺术领域使用Python 开发各种应用的实例。文字简洁明了,案例丰富实用,是一本难得的Python 入门手册。 本书适合所有编程初学者阅读。 |
目录 |
前言 xiv 第1 章 Python 初探 1 1.1 真实世界中的Python 5 1.2 Python 与其他语言 5 1.3 为什么选择Python 7 1.4 何时不应该使用Python 8 1.5 Python 2 与Python 3 8 1.6 安装Python 9 1.7 运行Python 9 1.7.1 使用交互式解释器 9 1.7.2 使用Python 文件 10 1.7.3 下一步 11 1.8 禅定一刻 11 1.9 练习 11 第2 章 Python 基本素:数字、字符串和变量 13 2.1 变量、名字和对象 13 2.2 数字 16 2.2.1 整数 17 2.2.2 优先级 20 2.2.3 基数 21 2.2.4 类型转换 22 2.2.5 一个int 型有多大 23 2.2.6 浮点数 24 2.2.7 数学函数 24 2.3 字符串 24 2.3.1 使用引号创建 25 2.3.2 使用str() 进行类型转换 27 2.3.3 使用 转义 27 2.3.4 使用+ 拼接 28 2.3.5 使用* 复制 28 2.3.6 使用[] 提取字符 28 2.3.7 使用[start:end:step] 分片 29 2.3.8 使用len() 获得长度 31 2.3.9 使用split() 分割 32 2.3.10 使用join() 合并 32 2.3.11 熟悉字符串 32 2.3.12 大小写与对齐方式 33 2.3.13 使用replace() 替换 34 2.3.14 更多关于字符串的内容 35 2.4 练习 35 第3 章 Python 容器:列表、组、字典与集合 36 3.1 列表和组 36 3.2 列表 37 3.2.1 使用[] 或list() 创建列表 37 3.2.2 使用list() 将其他数据类型转换成列表 37 3.2.3 使用[offset] 获取素 38 3.2.4 包含列表的列表 39 3.2.5 使用[offset] 修改素 39 3.2.6 指定范围并使用切片提取素 40 3.2.7 使用append() 添加素至尾部 40 3.2.8 使用extend() 或+= 合并列表 40 3.2.9 使用insert() 在指定位置插入素 41 3.2.10 使用del 删除指定位置的素 41 3.2.11 使用remove() 删除具有指定值的素 42 3.2.12 使用pop() 获取并删除指定位置的素 42 3.2.13 使用index() 查询具有特定值的素位置 42 3.2.14 使用in 判断值是否存在 42 3.2.15 使用count() 记录特定值出现的次数 43 3.2.16 使用join() 转换为字符串 43 3.2.17 使用sort() 重新排列素 44 3.2.18 使用len() 获取长度 44 3.2.19 使用= 赋值,使用copy() 复制 45 3.3 组 46 3.3.1 使用() 创建组 46 3.3.2 组与列表 47 3.4 字典 47 3.4.1 使用{} 创建字典 48 3.4.2 使用dict() 转换为字典 48 3.4.3 使用[key] 添加或修改素 49 3.4.4 使用update() 合并字典 50 3.4.5 使用del 删除具有指定键的素 51 3.4.6 使用clear() 删除所有素 51 3.4.7 使用in 判断是否存在 51 3.4.8 使用[key] 获取素 52 3.4.9 使用keys() 获取所有键 52 3.4.10 使用values() 获取所有值 53 3.4.11 使用items() 获取所有键值对 53 3.4.12 使用= 赋值,使用copy() 复制 53 3.5 集合 53 3.5.1 使用set() 创建集合 54 3.5.2 使用set() 将其他类型转换为集合 54 3.5.3 使用in 测试值是否存在 55 3.5.4 合并及运算符 56 3.6 比较几种数据结构 58 3.7 建立大型数据结构 59 3.8 练习 60 第4 章 Python 外壳:代码结构 61 4.1 使用# 注释 61 4.2 使用 连接 62 4.3 使用if、elif 和else 进行比较 63 4.4 使用while 进行循环 66 4.4.1 使用break 跳出循环 66 4.4.2 使用continue 跳到循环开始 67 4.4.3 循环外使用else 67 4.5 使用for 迭代 68 4.5.1 使用break 跳出循环 69 4.5.2 使用continue 跳到循环开始 69 4.5.3 循环外使用else 69 4.5.4 使用zip() 并行迭代 70 4.5.5 使用range() 生成自然数序列 71 4.5.6 其他迭代方式 71 4.6 推导式 72 4.6.1 列表推导式 72 4.6.2 字典推导式 74 4.6.3 集合推导式 74 4.6.4 生成器推导式 74 4.7 函数 75 4.7.1 位置参数 79 4.7.2 关键字参数 79 4.7.3 指定默认参数值 79 4.7.4 使用* 收集位置参数 80 4.7.5 使用** 收集关键字参数 81 4.7.6 文档字符串 82 4.7.7 一等公民:函数 82 4.7.8 内部函数 84 4.7.9 闭包 84 4.7.10 匿名函数:lambda() 函数 85 4.8 生成器 86 4.9 装饰器 87 (咨询特价) 命名空间和作用域 89 (咨询特价) 使用try 和except 处理错误 91 (咨询特价) 编写自己的异常 93 (咨询特价) 练习 94 第5 章 Python 盒子:模块、包和程序 95 5.1 独立的程序 95 5.2 命令行参数 96 5.3 模块和import 语句 96 5.3.1 导入模块 96 5.3.2 使用别名导入模块 98 5.3.3 导入模块的一部分 98 5.3.4 模块搜索路径 98 5.4 包 99 5.5 Python 标准库 99 5.5.1 使用setdefault() 和defaultdict() 处理缺失的键 100 5.5.2 使用Counter() 计数 101 5.5.3 使用有序字典OrderedDict() 按键排序 103 5.5.4 双端队列:栈+ 队列 103 5.5.5 使用itertools 迭代代码结构 104 5.5.6 使用pprint() 友好输出 105 5.6 获取更多Python 代码 105 5.7 练习 106 第6 章 对象和类 107 6.1 什么是对象 107 6.2 使用class 定义类 108 6.3 继承 109 6.4 覆盖方法 111 6.5 添加新方法 112 6.6 使用super 从父类得到帮助 112 6.7 self 的自辩 113 6.8 使用属性对特性进行访问和设置 114 6.9 使用名称重整保护私有特性 117 (咨询特价) 方法的类型 118 (咨询特价) 鸭子类型 119 (咨询特价) 特殊方法 120 (咨询特价) 组合 123 (咨询特价) 何时使用类和对象而不是模块 124 (咨询特价) 练习 126 第7 章 像高手一样玩转数据 127 7.1 文本字符串 127 7.1.1 Unicode 127 7.1.2 格式化 134 7.1.3 使用正则表达式匹配 137 7.2 二进制数据 144 7.2.1 字节和字节数组 144 7.2.2 使用struct 转换二进制数据 145 7.2.3 其他二进制数据工具 148 7.2.4 使用binascii() 转换字节/ 字符串 149 7.2.5 位运算符 149 7.3 练习 149 第8 章 数据的归宿 152 8.1 文件输入/ 输出 152 8.1.1 使用write() 写文本文件 153 8.1.2 使用read()、readline() 或者readlines() 读文本文件 154 8.1.3 使用write() 写二进制文件 156 8.1.4 使用read() 读二进制文件 157 8.1.5 使用with 自动关闭文件 157 8.1.6 使用seek() 改变位置 157 8.2 结构化的文本文件 159 8.2.1 CSV 159 8.2.2 XML 161 8.2.3 HTML 163 8.2.4 JSON 163 8.2.5 YAML 165 8.2.6 安全提示 166 8.2.7 配置文件 167 8.2.8 其他交换格式 168 8.2.9 使用pickle 序列化 168 8.3 结构化二进制文件 169 8.3.1 电子数据表 169 8.3.2 层次数据格式 169 8.4 关系型数据库 170 8.4.1 SQL 170 8.4.2 DB-API 172 8.4.3 SQLite 172 8.4.4 MySQL 174 8.4.5 PostgreSQL 174 8.4.6 SQLAlchemy 174 8.5 NoSQL 数据存储 179 8.5.1 dbm family 180 8.5.2 memcached 180 8.5.3 Redis 181 8.5.4 其他的NoSQL 189 8.6 全文数据库 189 8.7 练习 190 第9 章 剖析Web 191 9.1 Web 客户端 192 9.1.1 使用telnet 进行测试 193 9.1.2 Python 的标准Web 库 194 9.1.3 抛开标准库:requests 195 9.2 Web 服务端 196 9.2.1 最简单的Python Web 服务器 196 9.2.2 Web 服务器网关接口 198 9.2.3 框架 198 9.2.4 Bottle 198 9.2.5 Flask 201 9.2.6 非Python 的Web 服务器 204 9.2.7 其他框架 206 9.3 Web 服务和自动化 207 9.3.1 webbrowser 模块 207 9.3.2 Web API 和表述性状态传递 208 9.3.3 JSON 209 9.3.4 抓取数据 209 9.3.5 用BeautifulSoup 来抓取HTML 209 9.4 练习 210 第10 章 系统 212 10.1 文件 212 10.1.1 用open() 创建文件 212 10.1.2 用exists() 检查文件是否存在 213 10.1.3 用isfile() 检查是否为文件 213 10.1.4 用copy() 复制文件 213 10.1.5 用rename() 重命名文件 214 10.1.6 用link() 或者symlink() 创建链接 214 10.1.7 用chmod() 修改权限 214 10.1.8 用chown() 修改所有者 214 10.1.9 用abspath() 获取路径名 215 10.1.10 用realpath() 获取符号的路径名 215 10.1.11 用remove() 删除文件 215 10.2 目录 215 10.2.1 使用mkdir() 创建目录 215 10.2.2 使用rmdir() 删除目录 215 10.2.3 使用listdir() 列出目录内容 216 10.2.4 使用chdir() 修改当前目录 216 10.2.5 使用glob() 列出匹配文件 216 10.3 程序和进程 217 10.3.1 使用subprocess 创建进程 218 10.3.2 使用multiprocessing 创建进程 219 10.3.3 使用terminate() 终止进程 219 10.4 日期和时间 220 10.4.1 datetime 模块 221 10.4.2 使用time 模块 223 10.4.3 读写日期和时间 225 10.4.4 其他模块 227 10.5 练习 228 第11 章 并发和网络 229 11.1 并发 230 11.1.1 队列 231 11.1.2 进程 231 11.1.3 线程 232 11.1.4 绿色线程和gevent 234 11.1.5 twisted 236 11.1.6 asyncio 238 11.1.7 Redis 238 11.1.8 队列之上 241 11.2 网络 241 11.2.1 模式 242 11.2.2 发布- 订阅模型 242 11.2.3 TCP/IP 245 11.2.4 套接字 246 11.2.5 ZeroMQ 250 11.2.6 scapy 253 11.2.7 网络服务 253 11.2.8 Web 服务和API 255 11.2.9 远程处理 256 11.2.10 大数据和MapReduce 260 11.2.11 在云上工作 261 11.3 练习 264 第12 章 成为真正的Python 开发者 265 12.1 关于编程 265 12.2 寻找Python 代码 265 12.3 安装包 266 12.3.1 使用pip 266 12.3.2 使用包管理工具 267 12.3.3 从源代码安装 267 12.4 集成开发环境 268 12.4.1 IDLE 268 12.4.2 PyCharm 268 12.4.3 IPython 269 12.5 命名和文档 269 12.6 测试代码 270 12.6.1 使用pylint、pyflakes 和pep8 检查代码 270 12.6.2 使用unittest 进行测试 272 12.6.3 使用doctest 进行测试 276 12.6.4 使用nose 进行测试 277 12.6.5 其他测试框架 278 12.6.6 持续集成 278 12.7 调试Python 代码 278 12.8 使用pdb 进行调试 279 12.9 记录错误日志 284 (咨询特价) 优化代码 286 (咨询特价).1 测量时间 286 (咨询特价).2 算法和数据结构 288 (咨询特价).3 Cython、NumPy 和C 扩展 289 (咨询特价).4 PyPy 289 (咨询特价) 源码控制 289 (咨询特价).1 Mercurial 290 (咨询特价).2 Git 290 (咨询特价) 复制本书代码 292 (咨询特价) 更多内容 293 (咨询特价).1 书 293 (咨询特价).2 网站 293 (咨询特价).3 社区 293 (咨询特价).4 大会 294 (咨询特价) 后续内容 294 附录A Python 的艺术 295 附录B 工作中的Python 307 附录C Python 的科学 320 附录D 安装Python 3 339 附录E 习题解答 349 附录F 速查表 380 作者介绍 383 封面介绍 383 |
编辑推荐 |
本书内容易于理解,而且读起来生动有趣,是编程和Python初学者不可多得的教程。书中首先介绍了Python的基础知识,然后逐渐深入多种主题,结合教程和攻略式风格来讲解Python 3中的概念。每章结尾的练习可以帮助你巩固所学的知识。 本书会为你学习Python打下坚实的基础,包括测试、调试、代码复用的实践以及其他开发技巧。同时还会告诉你如何在商业、科学和艺术领域使用Python,并教会你使用多种Python工具和开源包。 通过阅读本书,你将能够: 学习简单的数据类型,以及基本的数学和文本操作 学习用Python内置的数据结构来处理数据 掌握Python的代码结构和函数的用法 使用模块和包编写大规模Python程序 深入理解对象、类和其他面向对象特性 学习使用普通文件、关系数据库和NoSQL数据库来存储数据 使用Python构建Web客户端、服务器、API和服务 管理系统任务,比如程序、进程和线程 理解并发和网络编程的基础知识 |