《Python语言及其应用python编程入门教程自学书籍语言程序设计编程入门零基础自学数据分析可视化编程》[58M]百度网盘|pdf下载|亲测有效
《Python语言及其应用python编程入门教程自学书籍语言程序设计编程入门零基础自学数据分析可视化编程》[58M]百度网盘|pdf下载|亲测有效

Python语言及其应用python编程入门教程自学书籍语言程序设计编程入门零基础自学数据分析可视化编程 pdf下载

出版社 人民邮电出版社官方旗舰店
出版年 2025
页数 390页
装帧 精装
评分 8.7(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供Python语言及其应用python编程入门教程自学书籍语言程序设计编程入门零基础自学数据分析可视化编程电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com


内容介绍

本书分为上、下两大*分,共计22章。第**分(第*~**章)由浅入深地介绍Python的基础知识,*括变量、数值、条件语句、文本字符串、循环语句、元组、列表、字典、集合、函数、对象、类、模块、库,等等。掌握这些基础知识将为运用Python奠定牢固的基础。第二*分(第*2~22章)介绍Python的应用,所涉及的*域*括Web应用、数据库、网络和机器学习。你将学会用Python处理时间、进行网络通信、完成数据科学任务等,还会了解并发的相关知识。

作者介绍

比尔·卢巴诺维奇(Bill Lubanovic)在长达40余年的软件开发生涯中积累了丰富的实战经验,开发过的项目跨越数据库、Web、分布式系统等多个*域。他曾负责用Python重新实现流行工具Wayback Machine。

目录

前言    xxv
第 **分 Python基础
第 * 章 Python初探    3
*.* 谜题    3
*.2 小程序    5
*.3 大程序    7
*.4 现实*中的Python    *0
*.5 Python和其他语言    *0
*.6 为什么选择Python    *2
*.7 为什么*选择Python    *4
*.8 Python 2和Python 3    *4
*.9 安装Python    *5
*.*0 运行Python    *5
*.*0.* 使用交互式解释器    *5
*.*0.2 使用Python文件    *6
*.*0.3 下*步    *7
*.** 禅意时刻    *7
*.*2 后续内容    *7
*.*3 练习    *8
第 2 章 数据:类型、值、变量和名称    *9
2.* Python数据皆是对象    *9
2.2 类型    20
2.3 可变性    2*
2.4 字面值    22
2.5 变量    22
2.6 赋值    23
2.7 变量是名称,*是位置    24
2.8 向多个名称赋值    27
2.9 为名称重新赋值    27
2.*0 复制    27
2.** 选个好变量名    28
2.*2 后续内容    28
2.*3 练习    28
第 3 章 数字    29
3.* 布尔值    29
3.2 整数    30
3.2.* 字面整数    30
3.2.2 整数运算符    3*
3.2.3 整数和变量    33
3.2.4 *先级    34
3.2.5 基数    35
3.2.6 类型转换    37
3.2.7 int类型有多大    39
3.3 浮点数    40
3.4 数学函数    4*
3.5 后续内容    4*
3.6 练习    4*
第 4 章 if语句    42
4.* 使用#注释    42
4.2 使用\续行    43
4.3 使用if、elif和else进行比较    44
4.4 True是什么    46
4.5 使用in进行多重比较    47
4.6 新秀:我是海象    48
4.7 后续内容    49
4.8 练习    49
第 5 章 字符串    50
5.* 使用引号*建字符串    50
5.2 使用str()*建字符串    52
5.3 使用\转义    53
5.4 使用+拼接    54
5.5 使用*重复    55
5.6 使用[]获取字符    55
5.7 使用分片提取子串    56
5.8 使用len()获取字符串长度    58
5.9 使用split()分割字符串    58
5.*0 使用join()合并字符串    59
5.** 使用replace()进行替换    59
5.*2 使用strip()进行剥离    59
5.*3 搜索和选择    60
5.*4 大小写    62
5.*5 对齐    63
5.*6 格式化    63
5.*6.* 旧式样:%    63
5.*6.2 新式样:{}和format()    66
5.*6.3 *新式样:f字符串    67
5.*7 未完待续    68
5.*8 后续内容    68
5.*9 练习    68
第 6 章 while循环和for循环    70
6.* while循环    70
6.*.* 使用break跳出循环    7*
6.*.2 使用continue跳过本次循环    7*
6.*.3 使用else检查break    7*
6.2 使用for和in进行迭代    72
6.2.* 使用break跳出循环    73
6.2.2 使用continue跳过本次循环    73
6.2.3 使用else检查break    73
6.2.4 使用range()生成数字序列    74
6.3 其他迭代器    74
6.4 后续内容    74
6.5 练习    74
第 7 章 元组和列表    76
7.* 元组    76
7.*.* 使用逗号和()*建元组    77
7.*.2 使用tuple()*建元组    78
7.*.3 使用+拼接元组    78
7.*.4 使用*复制元素    78
7.*.5 比较元组    78
7.*.6 使用for和in迭代元组    79
7.*.7 修改元组    79
7.2 列表    80
7.2.* 使用[]*建列表    80
7.2.2 使用list()*建或转换列表    80
7.2.3 使用split()从字符串*建列表    80
7.2.4 使用[offset]获取列表项    8*
7.2.5 使用切片获取列表项    82
7.2.6 使用append()在末尾添加列表项    82
7.2.7 使用insert()按偏移插入列表项    83
7.2.8 使用*复制所有列表项    83
7.2.9 使用extend()或+拼接列表    83
7.2.*0 使用[offset]修改列表项    84
7.2.** 使用切片修改列表项    84
7.2.*2 使用del按偏移删除列表项    85
7.2.*3 使用remove()按值删除列表项    85
7.2.*4 使用pop()按偏移获取列表项并删除    85
7.2.*5 使用clear()删除所有列表项    86
7.2.*6 使用index()按值查找列表项的偏移    86
7.2.*7 使用in测试值    86
7.2.*8 使用count()统计某个值出现的次数    87
7.2.*9 使用join()将列表转换为字符串    87
7.2.20 使用sort()或sorted()重新排序列表项    87
7.2.2* 使用len()获得列表长度    88
7.2.22 使用=赋值    88
7.2.23 使用copy()、list()或切片复制列表    89
7.2.24 使用deepcopy()复制所有内容    89
7.2.25 比较列表    90
7.2.26 使用for和in迭代列表    9*
7.2.27 使用zip()迭代多个序列    92
7.2.28 使用推导式*建列表    92
7.2.29 列表的列表    95
7.3 元组和列表    95
7.4 *存在元组推导式    95
7.5 后续内容    96
7.6 练习    96
第 8 章 字典和集合    98
8.* 字典    98
8.*.* 使用{}*建字典    98
8.*.2 使用dict()*建字典    99
8.*.3 使用dict()进行转换    99
8.*.4 使用[key]添加或修改字典项    *00
8.*.5 使用[key]或get()获取字典项    *0*
8.*.6 使用keys()获取所有的键    *02
8.*.7 使用values()获取所有值    *02
8.*.8 使用items()获取所有“键–值”对    *02
8.*.9 使用len()获取长度    *03
8.*.*0 使用{**a, **b}合并字典    *03
8.*.** 使用update()合并字典    *03
8.*.*2 使用del按键删除字典项    *04
8.*.*3 使用pop()按键获取字典项并将其删除    *04
8.*.*4 使用clear()删除所有字典项    *05
8.*.*5 使用in测试键是否存在    *05
8.*.*6 使用=赋值    *05
8.*.*7 使用copy()复制    *05
8.*.*8 使用deepcopy()复制所有内容    *06
8.*.*9 比较字典    *07
8.*.20 使用for和in迭代字典    *07
8.*.2* 字典推导式    *08
8.2 集合    *09
8.2.* 使用set()*建集合    **0
8.2.2 使用set()进行转换    **0
8.2.3 使用len()获取集合元素个数    ***
8.2.4 使用add()添加元素    ***
8.2.5 使用remove()删除元素    ***
8.2.6 使用for和in迭代集合    ***
8.2.7 使用in测试元素    ***
8.2.8 集合运算    **2
8.2.9 集合推导式    **5
8.2.*0 使用frozenset()*建*可变集合    **5
8.3 目前为止学过的数据结构    **6
8.4 *建更复杂的数据结构    **6
8.5 后续内容    **7
8.6 练习    **7
第 9 章 函数    **9
9.* 使用def定义函数    **9
9.2 使用圆括号调用函数    *20
9.3 实参与形参    *20
9.3.* 有用的None    *22
9.3.2 位置实参    *23
9.3.3 关键字实参    *23
9.3.4 *默认形参值    *24
9.3.5 使用*拆分/汇集位置实参    *25
9.3.6 使用**拆分/汇集关键字实参    *26
9.3.7 *关键字形参    *27
9.3.8 可变实参和*可变实参    *28
9.4 文档字符串    *28
9.5 作为“头等公民”的函数    *29
9.6 内*函数    *3*
9.7 匿名函数:lambda    *32
9.8 生成器    *33
9.8.* 生成器函数    *34
9.8.2 生成器推导式    *34
9.9 装饰器    *35
9.*0 名称空间和作用域    *37
9.** 名称中_和__的用法    *39
9.*2 递归    *39
9.*3 异步函数    *40
9.*4 异常    *40
9.*4.* 使用try和except处理错误    *4*
9.*4.2 编写自己的异常    *42
9.*5 后续内容    *43
9.*6 练习    *43
第 *0 章 对象和类    *44
*0.* 什么是对象    *44
*0.2 简单对象    *45
*0.2.* 使用class定义类    *45
*0.2.2 *性    *45
*0.2.3 方法    *46
*0.2.4 初始化    *47
*0.3 继承    *48
*0.3.* 从父类继承    *48
*0.3.2 覆盖方法    *49
*0.3.3 添加方法    *50
*0.3.4 使用super()获得父类的帮助    *5*
*0.3.5 多重继承    *52
*0.3.6 mixin    *53
*0.4 为self正名    *54
*0.5 *性访问    *54
*0.5.* 直接访问    *54
*0.5.2 getter和setter    *55
*0.5.3 用于*性访问的属性    *55
*0.5.4 计算值属性    *57
*0.5.5 使用名称重整*护内*隐私    *58
*0.5.6 类和对象*性    *58
*0.6 方法的类型    *59
*0.6.* 实例方法    *59
*0.6.2 类方法    *59
*0.6.3 静态方法    *60
*0.7 鸭子类型    *60
*0.8 魔术方法    *62
*0.9 聚合和组合    *65
*0.*0 何时使用对象或其他东西    *66
*0.** 具名元组    *66
*0.*2 数据类    *68
*0.*3 attrs    *69
*0.*4 后续内容    *69
*0.*5 练习    *69
第 ** 章 模块、*和赠品    *70
**.* 模块和import语句    *70
**.*.* 导入模块    *70
**.*.2 使用别名导入模块    *72
**.*.3 导入*分模块    *72
**.2 *    *72
**.2.* 模块搜索路径    *74
**.2.2 相对导入和*对导入    *74
**.2.3 名称空间*    *75
**.2.4 模块和对象    *76
**.3 Python标准库    *76
**.3.* 使用setdefault()和defaultdict()处理缺失的键    *77
**.3.2 使用Counter()计数    *78
**.3.3 使用OrderedDict()按键排序    *79
**.3.4 栈+队列=双端队列    *80
**.3.5 使用itertools迭代代码结构    *8*
**.3.6 使用pprint()美化输出    *82
**.3.7 获得随机数    *82
**.4 获取其他Python代码    *84
**.5 后续内容    *84
**.6 练习    *84
第二*分 Python实践
第 *2 章 数据处理    *87
*2.* 文本字符串:Unicode    *88
*2.*.* Python 3 Unicode字符串    *88
*2.*.2 UTF-8    *9*
*2.*.3 编码    *9*
*2.*.4 解码    *92
*2.*.5 HTML实体    *94
*2.*.6 归*化    *95
*2.*.7 更多信息    *96
*2.2 字符串:正则表达式    *96
*2.2.* 使用match()查找起始匹配    *97
*2.2.2 使用search()查找*次匹配    *98
*2.2.3 使用findall()查找所有匹配    *98
*2.2.4 使用split()在匹配处分割    *99
*2.2.5 使用sub()替换匹配    *99
*2.2.6 模式:*殊字符    *99
*2.2.7 模式:使用修饰符    20*
*2.2.8 模式:*match()的输出    203
*2.3 二进制数据    203
*2.3.* bytes和bytearray    204
*2.3.2 使用struct转换二进制数据    205
*2.3.3 其他二进制数据工具    207
*2.3.4 使用binascii()转换二进制/字符串    208
*2.3.5 位运算符    208
*2.4 珠宝类比    209
*2.5 后续内容    209
*2.6 练习    209
第 *3 章 日历和时钟    2**
*3.* 闰年    2*2
*3.2 datetime模块    2*2
*3.3 使用time模块    2*5
*3.4 读写日期和时间    2*6
*3.5 所有的转换    220
*3.6 替代模块    220
*3.7 后续内容    22*
*3.8 练习    22*
第 *4 章 文件和目录    222
*4.* 文件输入和输出    222
*4.*.* 使用open()*建或打开文件    222
*4.*.2 使用print()写入文本文件    223
*4.*.3 使用write()写入文本文件    223
*4.*.4 使用read()、readline()或readlines()读取文本文件    225
*4.*.5 使用write()写入二进制文件    226
*4.*.6 使用read()读取二进制文件    227
*4.*.7 使用with自动关闭文件    227
*4.*.8 使用seek()改变文件位置    228
*4.2 内存映射    229
*4.3 文件操作    229
*4.3.* 使用exists()检查文件是否存在    230
*4.3.2 使用isfile()检查文件类型    230
*4.3.3 使用copy()复制文件    23*
*4.3.4 使用rename()重命名    23*
*4.3.5 使用link()或symlink()*建*    23*
*4.3.6 使用chmod()改变文件权限    23*
*4.3.7 使用chown()改变文件所属权    232
*4.3.8 使用remove()删除文件    232
*4.4 目录操作    232
*4.4.* 使用mkdir()*建目录    232
*4.4.2 使用rmdir()删除目录    232
*4.4.3 使用listdir()列出目录内容    232
*4.4.4 使用chdir()改变当前目录    233
*4.4.5 使用glob()列出匹配文件    233
*4.5 路径名    234
*4.5.* 使用abspath()获取路径名    235
*4.5.2 使用realpath()获取符号*路径名    235
*4.5.3 使用os.path.join()构建路径名    235
*4.5.4 使用pathlib    235
*4.6 BytesIO和StringIO    236
*4.7 后续内容    237
*4.8 练习    237
第 *5 章 进程和并发    238
*5.* 程序和进程    238
*5.*.* 使用subprocess*建进程    239
*5.*.2 使用multiprocessing*建进程    240
*5.*.3 使用terminate()*止进程    24*
*5.*.4 使用os获得系统信息    24*
*5.*.5 使用psutil获取进程信息    242
*5.2 命令自动化    242
*5.2.* invoke    243
*5.2.2 其他命令助手    243
*5.3 并发    244
*5.3.* 队列    245
*5.3.2 进程    245
*5.3.3 线程    246
*5.3.4 concurrent.futures    248
*5.3.5 绿色线程和gevent    25*
*5.3.6 twisted    252
*5.3.7 asyncio    254
*5.3.8 Redis    254
*5.3.9 队列之外的选择    257
*5.4 后续内容    257
*5.5 练习    257
第 *6 章 持久性存储    258
*6.* 平面文本文件    258
*6.2 填充式文本文件    258
*6.3 表格式文本文件    259
*6.3.* CSV    259
*6.3.2 XML    26*
*6.3.3 XML*提示    263
*6.3.4 HTML    263
*6.3.5 JSON    264
*6.3.6 YAML    266
*6.3.7 tablib    267
*6.3.8 Pandas    267
*6.3.9 配置文件    268
*6.4 二进制文件    269
*6.4.* 填充式二进制文件和内存映射    269
*6.4.2 电子表格    270
*6.4.3 HDF5    270
*6.4.4 TileDB    270
*6.5 关系数据库    270
*6.5.* SQL    27*
*6.5.2 DB-API    272
*6.5.3 SQLite    273
*6.5.4 MySQL    274
*6.5.5 PostgreSQL    275
*6.5.6 SQLAlchemy    275
*6.5.7 其他数据库访问*    280
*6.6 NoSQL数据存储    280
*6.6.* dbm家族    280
*6.6.2 memcached    28*
*6.6.3 Redis    282
*6.6.4 文档数据库    288
*6.6.5 时间序列数据库    289
*6.6.6 图数据库    289
*6.6.7 其他NoSQL    289
*6.7 *文数据库    290
*6.8 后续内容    290
*6.9 练习    290
第 *7 章 网络    292
*7.* TCP/IP    292
*7.*.* 套接字    293
*7.*.2 Scapy    297
*7.*.3 Netcat    297
*7.2 联网模式    297
*7.3 “请求–回应”模式    298
*7.3.* ZeroMQ    298
*7.3.2 其他消息工具    30*
*7.4 “发布–订阅”模式    302
*7.4.* Redis    302
*7.4.2 ZeroMQ    303
*7.4.3 其他“发布–订阅”工具    305
*7.5 互联网服务    305
*7.5.* 域名系统    305
*7.5.2 Python电子邮件模块    306
*7.5.3 其他协议    306
*7.6 Web服务和API    306
*7.7 数据序列化    307
*7.7.* 使用pickle进行序列化    307
*7.7.2 其他序列化格式    308
*7.8 远程过程调用    309
*7.8.* XML-RPC    309
*7.8.2 JSON-RPC    3*0
*7.8.3 MessagePack-RPC    3**
*7.8.4 zerorpc    3*2
*7.8.5 gRPC    3*2
*7.8.6 twirp    3*3
*7.9 远程管理工具    3*3
*7.*0 大数据    3*3
*7.*0.* Hadoop    3*4
*7.*0.2 Spark    3*4
*7.*0.3 Disco    3*4
*7.*0.4 Dask    3*4
*7.** 云    3*5
*7.**.* Amazon Web服务    3*6
*7.**.2 Google Cloud    3*6
*7.**.3 Microsoft Azure    3*6
*7.**.4 OpenStack    3*6
*7.*2 Docker    3*6
*7.*3 后续内容    3*7
*7.*4 练习    3*7
第 *8 章 Web    3*8
*8.* Web客户端    3*9
*8.*.* 使用telnet进行测试    320
*8.*.2 使用curl进行测试    32*
*8.*.3 使用httpie进行测试    322
*8.*.4 使用httpbin进行测试    322
*8.*.5 Python的标准Web库    322
*8.*.6 标准库之外的requests    324
*8.2 Web服务器    325
*8.2.* 最简单的Python Web服务器    326
*8.2.2 Web服务器网关接口(WSGI)    327
*8.2.3 ASGI    327
*8.2.4 Apache    328
*8.2.5 NGINX    329
*8.2.6 其他Python Web服务器    329
*8.3 Web服务器框架    330
*8.3.* Bottle    330
*8.3.2 Flask    332
*8.3.3 Django    336
*8.3.4 其他框架    336
*8.4 数据库框架    337
*8.5 Web服务和自动化    337
*8.5.* webbrowser    337
*8.5.2 webview    338
*8.6 Web API和REST    339
*8.7 爬取数据    339
*8.7.* Scrapy    340
*8.7.2 BeautifulSoup    340
*8.7.3 requests-html    34*
*8.8 看场电影吧    34*
*8.9 后续内容    344
*8.*0 练习    344
第 *9 章 成为Python主义者    345
*9.* 关于编程    345
*9.2 寻找Python代码    346
*9.3 安装Python*    346
*9.3.* 使用pip    346
*9.3.2 使用virtualenv    347
*9.3.3 使用pipenv    347
*9.3.4 使用*管理器    348
*9.3.5 从源代码安装    348
*9.4 集成化开发环境    348
*9.4.* IDLE    348
*9.4.2 PyCharm    348
*9.4.3 IPython    349
*9.4.4 Jupyter Notebook    350
*9.4.5 JupyterLab    35*
*9.5 名称和文档    35*
*9.6 添加类型提示    352
*9.7 测试    353
*9.7.* 使用pylint、pyflakes 和pep8检查代码    353
*9.7.2 使用unittest进行测试    355
*9.7.3 使用doctest进行测试    358
*9.7.4 使用nose进行测试    359
*9.7.5 其他测试框架    360
*9.7.6 持续集成    360
*9.8 调试Python代码    36*
*9.8.* 使用print()    36*
*9.8.2 使用装饰器    362
*9.8.3 使用pdb    363
*9.8.4 使用breakpoint()    368
*9.9 记录错误消息    368
*9.*0 *化    370
*9.*0.* 测量时间    370
*9.*0.2 算法和数据结构    373
*9.*0.3 Cython、NumPy和C扩展    374
*9.*0.4 PyPy    374
*9.*0.5 Numba    374
*9.** 源代码控制    375
*9.**.* Mercurial    375
*9.**.2 Git    376
*9.*2 分发你的程序    378
*9.*3 克隆本书    378
*9.*4 更多内容    378
*9.*4.* 图书    379
*9.*4.2 网站    379
*9.*4.3 团体    380
*9.*4.4 会议    380
*9.*4.5 Python相关的工作机会    380
*9.*5 后续内容    380
*9.*6 练习    38*
第 20 章 Python的艺术    382
20.* 2D图形    382
20.*.* 标准库    382
20.*.2 PIL和Pillow    383
20.*.3 ImageMagick    386
20.2 3D图形    387
20.3 3D动画    387
20.4 图形用户界面    388
20.5 绘图、图形和可视化    389
20.5.* Matplotlib    389
20.5.2 Seaborn    39*
20.5.3 Bokeh    393
20.6 游戏    393
20.7 音频和音乐    393
20.8 后续内容    394
20.9 练习    394
第 2* 章 工作中的Python    395
2*.* Microsoft Office套件    395
2*.2 执行企业任务    396
2*.3 处理企业数据    397
2*.3.* 提取、转换和装载    397
2*.3.2 数据验证    400
2*.3.3 其他信息源    400
2*.4 开源Python企业*    400
2*.5 金融中的Python    40*
2*.6 商业数据*    40*
2*.7 地图    402
2*.7.* 格式    402
2*.7.2 根据shapefile绘制地图    403
2*.7.3 Geopandas    405
2*.7.4 其他绘图*    405
2*.7.5 应用和数据    406
2*.8 后续内容    406
2*.9 练习    406
第 22 章 Python的科学    407
22.* 标准库中的数学和统计    407
22.*.* 数学函数    407
22.*.2 处理复数    409
22.*.3 使用decimal*确计算浮点数    4*0
22.*.4 使用fractions执行有理数运算   4*0
22.*.5 使用array*建压缩序列    4**
22.*.6 使用statistics进行简单的统计    4**
2*.*.7 矩阵乘法    4**
22.2 科学Python    4**
22.3 NumPy    4*2
22.3.* 使用array()*建数组    4*2
22.3.2 使用arange()*建数组    4*3
22.3.3 使用zeros()、ones()和random()*建数组    4*3
22.3.4 使用reshape()改变数组的形状    4*4
22.3.5 使用[]获取元素    4*5
22.3.6 数组的算术运算   4*6
22.3.7 线性代数   4*7
22.4 SciPy   4*8
22.5 SciKit    4*8
22.6 Pandas    4*8
22.7 Python和各个科学*域    4*9
22.8 后续内容    420
22.9 练习    420
附录A 写给初级程序员的计算机软硬件知识    42*
附录B 安装Python 3    430
附录C 截然*同的async    437
附录D 习题答案    442
附录E 速查表    483