当前位置:主页 > 计算机电子书 > Python > Python下载
Python语言及其应用

Python语言及其应用 PDF 完整版

  • 更新:2021-12-23
  • 大小:51 MB
  • 类别:Python
  • 作者:卢布诺维克(Bill、Lubanovic)
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

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

目录

  • 前言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

资源下载

资源下载地址1:https://pan.baidu.com/s/1IQjkmpoAkO9PoXNL2SaJIQ

相关资源

网友留言

网友NO.29692
幸天骄

浏览完了电子版。感觉是一本很有诚意的入门书。作者真心想教会你很多东西。前半部分写的非常好。但是从并行那章开始,感觉开始看不懂了,因为本身比较难,写的也不详细(估计因为篇幅)。接下来的网络部分写的有点看不懂。附录罗列的东西好多,作者懂得很多。总之这本书入门的话,看前半部分很好,后面可以浏览一遍。

网友NO.30082
文梦桐

对于已经入门的读者来说很精练,内容宽泛节奏也很快,但不会觉得浅尝辄止,对很多概念的讲解非常生动形象,加上有不错的练习题,对进一步夯实语言基础非常有帮助,算是一本开眼界、长见识的书。唯一稍显遗憾的地方是讲网络和并发的那一章不怎么成系统,这一章作为基础教程细节略多、主体分散,读了几遍还是不怎么通透。不过这些领域的确需要更加专业和深入的学习了。