图灵程序设计丛书:Python语言及其应用.pdf

图灵程序设计丛书:Python语言及其应用.pdf
 

书籍描述

内容简介
本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于新版本3.x。书中首先介绍了Python 语言的一些基本知识,然后介绍了在商业、科研以及艺术领域使用Python 开发各种应用的实例。文字简洁明了,案例丰富实用,是一本难得的Python 入门手册。
本书适合所有编程初学者阅读。

编辑推荐
本书内容易于理解,而且读起来生动有趣,是编程和Python初学者不可多得的教程。书中首先介绍了Python的基础知识,然后逐渐深入多种主题,结合教程和攻略式风格来讲解Python 3中的概念。每章结尾的练习可以帮助你巩固所学的知识。
本书会为你学习Python打下坚实的基础,包括测试、调试、代码复用的实践以及其他开发技巧。同时还会告诉你如何在商业、科学和艺术领域使用Python,并教会你使用多种Python工具和开源包。
通过阅读本书,你将能够:
学习简单的数据类型,以及基本的数学和文本操作
学习用Python内置的数据结构来处理数据
掌握Python的代码结构和函数的用法
使用模块和包编写大规模Python程序
深入理解对象、类和其他面向对象特性
学习使用普通文件、关系数据库和NoSQL数据库来存储数据
使用Python构建Web客户端、服务器、API和服务
管理系统任务,比如程序、进程和线程
理解并发和网络编程的基础知识

名人推荐
“Bill Lubanovic编写了一本非常优秀的著作,介绍了编程的基础知识,并指导你如何利用庞大的Python工具箱解决现实生活中的问题。通过阅读本书,你一定能学会如何用Python解决问题。”
——Loic Pefferkorn 开源系统工程师

媒体推荐
Bill Lubanovic编写了一本著作,介绍了编程的基础知识,并指导你如何利用庞大的Python工具箱解决现实生活中的问题。通过阅读本书,你一定能学会如何用Python解决问题。
——Lo?c Pefferkorn,开源系统工程师

作者简介
作者:[美] 卢布诺维克(Bill Lubanovic) 译者:丁嘉瑞 梁杰 禹常隆
Bill Lubanovic现为Penguin Computing公司高级软件工程师。1977年开始开发Unix软件,1981年开始开发GUI软件,1990年开始开发数据库软件,1993年开始开发Web软件。与人合著有Linux System Administration。

目录
前言xiv
第1章Python初探1
1.1真实世界中的Python5
1.2Python与其他语言5
1.3为什么选择Python7
1.4何时不应该使用Python8
1.5Python 2与Python 38
1.6安装Python9
1.7运行Python9
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循环外使用else67
4.5使用for迭代68
4.5.1使用break跳出循环69
4.5.2使用continue跳到循环开始69
4.5.3循环外使用else69
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
4.10命名空间和作用域89
4.11使用try和except处理错误91
4.12编写自己的异常93
4.13练习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.5Python标准库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.7self的自辩113
6.8使用属性对特性进行访问和设置114
6.9使用名称重整保护私有特性117
6.10方法的类型118
6.11鸭子类型119
6.12特殊方法120
6.13组合123
6.14何时使用类和对象而不是模块124
6.15练习126
第7章像高手一样玩转数据127
7.1文本字符串127
7.1.1Unicode127
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.1CSV159
8.2.2XML161
8.2.3HTML163
8.2.4JSON163
8.2.5YAML165
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.1SQL170
8.4.2DB—API172
8.4.3SQLite172
8.4.4MySQL174
8.4.5PostgreSQL174
8.4.6SQLAlchemy174
8.5NoSQL数据存储179
8.5.1dbm family180
8.5.2memcached180
8.5.3Redis181
8.5.4其他的NoSQL189
8.6全文数据库189
8.7练习190
第9章剖析Web191
9.1Web客户端192
9.1.1使用telnet进行测试193
9.1.2Python的标准Web库194
9.1.3抛开标准库:requests195
9.2Web服务端196
9.2.1最简单的Python Web服务器196
9.2.2Web服务器网关接口198
9.2.3框架198
9.2.4Bottle198
9.2.5Flask201
9.2.6非Python的Web服务器204
9.2.7其他框架206
9.3Web服务和自动化207
9.3.1webbrowser模块207
9.3.2Web API和表述性状态传递208
9.3.3JSON209
9.3.4抓取数据209
9.3.5用BeautifulSoup来抓取HTML209
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.1datetime模块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绿色线程和gevent234
11.1.5twisted236
11.1.6asyncio238
11.1.7Redis238
11.1.8队列之上241
11.2网络241
11.2.1模式242
11.2.2发布—订阅模型242
11.2.3TCP/IP245
11.2.4套接字246
11.2.5ZeroMQ250
11.2.6scapy253
11.2.7网络服务253
11.2.8Web服务和API255
11.2.9远程处理256
11.2.10大数据和MapReduce260
11.2.11在云上工作261
11.3练习264
第12章成为真正的Python开发者265
12.1关于编程265
12.2寻找Python代码265
12.3安装包266
12.3.1使用pip266
12.3.2使用包管理工具267
12.3.3从源代码安装267
12.4集成开发环境268
12.4.1IDLE268
12.4.2PyCharm268
12.4.3IPython269
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
12.10优化代码286
12.10.1测量时间286
12.10.2算法和数据结构288
12.10.3Cython、NumPy和C扩展289
12.10.4PyPy289
12.11源码控制289
12.11.1Mercurial290
12.11.2Git290
12.12复制本书代码292
12.13更多内容293
12.13.1书293
12.13.2网站293
12.13.3社区293
12.13.4大会294
12.14后续内容294
附录APython的艺术295
附录B工作中的Python307
附录CPython的科学320
附录D安装Python 3339
附录E习题解答349
附录F速查表380
作者介绍383
封面介绍383

文摘
版权页:



插图:

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多