内容简介
第1章 Python初探
1.1真实世界中的Python
1.2Python与其他语言
1.3为什么选择Python
1.4何时不应该使用Python
1.5Python 2与Python 3
1.6安装Python
1.7运行Python
1.7.1使用交互式解释器
1.7.2使用Python文件
1.7.3下一步
1.8禅定一刻
1.9练习
第2章 Python基本元素:数字、字符串和变量
2.1变量、名字和对象
2.2数字
2.2.1整数
2.2.2优先级
2.2.3基数
2.2.4类型转换
2.2.5一个int型有多大
2.2.6浮点数
2.2.7数学函数
2.3字符串
2.3.1使用引号创建
2.3.2使用str()进行类型转换
2.3.3使用\转义
2.3.4使用+拼接
2.3.5使用*复制
2.3.6使用[]提取字符
2.3.7使用[start:end:step]分片
2.3.8使用len()获得长度
2.3.9使用split()分割
2.3.10使用join()合并
2.3.11熟悉字符串
2.3.12大小写与对齐方式
2.3.13使用replace()替换
2.3.14更多关于字符串的内容
2.4练习
第3章 Python容器:列表、元组、字典与集合
3.1列表和元组
3.2列表
3.2.1使用[]或list()创建列表
3.2.2使用list()将其他数据类型转换成列表
3.2.3使用[offset]获取元素
3.2.4包含列表的列表
3.2.5使用[offset]修改元素
3.2.6指定范围并使用切片提取元素
3.2.7使用append()添加元素至尾部
3.2.8使用extend()或+=合并列表
3.2.9使用insert()在指定位置插入元素
3.2.10使用del删除指定位置的元素
3.2.11使用remove()删除具有指定值的元素
3.2.12使用pop()获取并删除指定位置的元素
3.2.13使用index()查询具有特定值的元素位置
3.2.14使用in判断值是否存在
3.2.15使用count()记录特定值出现的次数
3.2.16使用join()转换为字符串
3.2.17使用sort()重新排列元素
3.2.18使用len()获取长度
3.2.19使用=赋值,使用copy()复制
3.3元组
3.3.1使用()创建元组
3.3.2元组与列表
3.4字典
3.4.1使用{}创建字典
3.4.2使用dict()转换为字典
3.4.3使用[key]添加或修改元素
3.4.4使用update()合并字典
3.4.5使用del删除具有指定键的元素
3.4.6使用clear()删除所有元素
3.4.7使用in判断是否存在
3.4.8使用[key]获取元素
3.4.9使用keys()获取所有键
3.4.10使用values()获取所有值
3.4.11使用items()获取所有键值对
3.4.12使用=赋值,使用copy()复制
3.5集合
3.5.1使用set()创建集合
3.5.2使用set()将其他类型转换为集合
3.5.3使用in测试值是否存在
3.5.4合并及运算符
3.6比较几种数据结构
3.7建立大型数据结构
3.8练习
第4章 Python外壳:代码结构
4.1使用#注释
4.2使用\连接
4.3使用if、elif和else进行比较
4.4使用while进行循环
4.4.1使用break跳出循环
4.4.2使用continue跳到循环开始
4.4.3循环外使用else
4.5使用for迭代
4.5.1使用break跳出循环
4.5.2使用continue跳到循环开始
4.5.3循环外使用else
4.5.4使用zip()并行迭代
4.5.5使用range()生成自然数序列
4.5.6其他迭代方式
4.6推导式
4.6.1列表推导式
4.6.2字典推导式
4.6.3集合推导式
4.6.4生成器推导式
4.7函数
4.7.1位置参数
4.7.2关键字参数
4.7.3指定默认参数值
4.7.4使用*收集位置参数
4.7.5使用**收集关键字参数
4.7.6文档字符串
4.7.7一等公民:函数
4.7.8内部函数
4.7.9闭包
4.7.10匿名函数:lambda()函数
4.8生成器
4.9装饰器
4.10命名空间和作用域
4.11使用try和except处理错误
4.12编写自己的异常
4.13练习
第5章 Python盒子:模块、包和程序
5.1独立的程序
5.2命令行参数
5.3模块和import语句
5.3.1导入模块
5.3.2使用别名导入模块
5.3.3导入模块的一部分
5.3.4模块搜索路径
5.4包
5.5 Python标准库
5.5.1使用setdefault()和defaultdict()处理缺失的键
5.5.2使用Counter()计数
5.5.3使用有序字典OrderedDict()按键排序
5.5.4双端队列:栈+队列
5.5.5使用itertools迭代代码结构
5.5.6使用pprint()友好输出
5.6获取更多Python代码
5.7练习
第6章 对象和类
6.1什么是对象
6.2使用class定义类
6.3继承
6.4覆盖方法
6.5添加新方法
6.6使用super从父类得到帮助
6.7 self的自辩
6.8使用属性对特性进行访问和设置
6.9使用名称重整保护私有特性
6.10方法的类型
6.11鸭子类型
6.12特殊方法
6.13组合
6.14何时使用类和对象而不是模块
6.15练习
第7章 像高手一样玩转数据
7.1文本字符串
7.1.1 Unicode
7.1.2格式化
7.1.3使用正则表达式匹配
7.2二进制数据
7.2.1字节和字节数组
7.2.2使用struct转换二进制数据
7.2.3其他二进制数据工具
7.2.4使用binascii()转换字节/字符串
7.2.5位运算符
7.3练习
第8章 数据的归宿
8.1文件输入/输出
8.1.1使用write()写文本文件
8.1.2使用read()、readline()或者readlines()读文本文件
8.1.3使用write()写二进制文件
8.1.4使用read()读二进制文件
8.1.5使用with自动关闭文件
8.1.6使用seek()改变位置
8.2结构化的文本文件
8.2.1 CSV
8.2.2 XML
8.2.3 HTML
8.2.4 JSON
8.2.5 YAML
8.2.6安全提示
8.2.7配置文件
8.2.8其他交换格式
8.2.9使用pickle序列化
8.3结构化二进制文件
8.3.1电子数据表
8.3.2层次数据格式
8.4关系型数据库
8.4.1 SQL
8.4.2 DB-API
8.4.3 SQLite
8.4.4 MySQL
8.4.5 PostgreSQL
8.4.6 SQLAlchemy
8.5 NoSQL数据存储
8.5.1 dbm family
8.5.2 memcached
8.5.3 Redis
8.5.4其他的NoSQL
8.6全文数据库
8.7练习
第9章 剖析Web
9.1 Web客户端
9.1.1使用telnet进行测试
9.1.2 Python的标准Web库
9.1.3抛开标准库:requests
9.2 Web服务端
9.2.1最简单的Python Web服务器
9.2.2 Web服务器网关接口
9.2.3框架
9.2.4 Bottle
9.2.5 Flask
9.2.6非Python的Web服务器
9.2.7其他框架
9.3 Web服务和自动化
9.3.1 webbrowser模块
9.3.2 Web API和表述性状态传递
9.3.3 JSON
9.3.4抓取数据
9.3.5用BeautifulSoup来抓取HTML
9.4练习
第10章 系统
10.1文件
10.1.1用open()创建文件
10.1.2用exists()检查文件是否存在
10.1.3用isfile()检查是否为文件
10.1.4用copy()复制文件
10.1.5用rename()重命名文件
10.1.6用link()或者symlink()创建链接
10.1.7用chmod()修改权限
10.1.8用chown()修改所有者
10.1.9用abspath()获取路径名
10.1.10用realpath()获取符号的路径名
10.1.11用remove()删除文件
10.2目录
10.2.1使用mkdir()创建目录
10.2.2使用rmdir()删除目录
10.2.3使用listdir()列出目录内容
10.2.4使用chdir()修改当前目录
10.2.5使用glob()列出匹配文件
10.3程序和进程
10.3.1使用subprocess创建进程
10.3.2使用multiprocessing创建进程
10.3.3使用terminate()终止进程
10.4日期和时间
10.4.1 datetime模块
10.4.2使用time模块
10.4.3读写日期和时间
10.4.4其他模块
10.5练习
第11章 并发和网络
11.1并发
11.1.1队列
11.1.2进程
11.1.3线程
11.1.4绿色线程和gevent
11.1.5 twisted
11.1.6 asyncio
11.1.7 Redis
11.1.8队列之上
11.2网络
11.2.1模式
11.2.2发布-订阅模型
11.2.3 TCP/IP
11.2.4套接字
11.2.5 ZeroMQ
11.2.6 scapy
11.2.7网络服务
11.2.8 Web服务和API
11.2.9远程处理
11.2.10大数据和MapReduce
11.2.11在云上工作
11.3练习
第12章 成为真正的Python开发者
12.1关于编程
12.2寻找Python代码
12.3安装包
12.3.1使用pip
12.3.2使用包管理工具
12.3.3从源代码安装
12.4集成开发环境
12.4.1 IDLE
12.4.2 PyCharm
12.4.3 IPython
12.5命名和文档
12.6测试代码
12.6.1使用pylint、pyflakes和pep8检查代码
12.6.2使用unittest进行测试
12.6.3使用doctest进行测试
12.6.4使用nose进行测试
12.6.5其他测试框架
12.6.6持续集成
12.7调试Python代码
12.8使用pdb进行调试
12.9记录错误日志
12.10优化代码
12.10.1测量时间
12.10.2算法和数据结构
12.10.3 Cython、NumPy和C扩展
12.10.4 PyPy
12.11源码控制
12.11.1 Mercurial
12.11.2 Git
12.12复制本书代码
12.13更多内容
12.13.1书
12.13.2网站
12.13.3社区
12.13.4大会
12.14后续内容
附录A Python的艺术
附录B 工作中的Python
附录C Python的科学
附录D 安装Python 3
附录E 习题解答
附录F 速查表
作者介绍
封面介绍