Python语言及其应用|PDF高清完整版免费下载|百度云盘|Python
提取码:6or6
内容简介
本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于最新版本3.x。书中首先介绍了Python 语言的一些必备基本知识,然后介绍了在商业、科研以及艺术领域使用Python 开发各种应用的实例。文字简洁明了,案例丰富实用,是一本难得的Python 入门手册。
作者简介
Bill Lubanovic
现为Penguin Computing公司高级软件工程师。1977年开始开发Unix软件,1981年开始开发GUI软件,1990年开始开发数据库软件,1993年开始开发Web软件。与人合著有Linux System Administration。
目录
第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
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.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
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.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
12.10 优化代码 286
12.10.1 测量时间 286
12.10.2 算法和数据结构 288
12.10.3 Cython、NumPy和C扩展 289
12.10.4 PyPy 289
12.11 源码控制 289
12.11.1 Mercurial 290
12.11.2 Git 290
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
附录A Python的艺术 295
附录B 工作中的Python 307
附录C Python的科学 320
附录D 安装Python 3 339
附录E 习题解答 349
附录F 速查表 380
作者介绍 383
封面介绍 383
Python语言及其应用|PDF高清完整版免费下载|百度云盘|Python的更多相关文章
- Python语言及其应用PDF高清完整版免费下载|百度云盘|Python新手入门
百度云盘:Python语言及其应用PDF高清完整版免费下载 提取码:6or6 内容简介 本书介绍Python 语言的基础知识及其在各个领域的具体应用,基于最新版本3.x.书中首先介绍了Python 语 ...
- python网络爬虫实战PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:vg1y python网络爬虫实战帮助读者学习Python并开发出符合自己要求的网络爬虫.网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚 ...
- python机器学习经典实例PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:caji 在如今这个处处以数据驱动的世界中,机器学习正变得越来越大众化.它已经被广泛地应用于不同领域,如搜索引擎.机器人.无人驾驶汽车等.Python机器学习经典实例首先通过实用的案例 ...
- python金融大数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:7k4b 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区 ...
- Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载|百度云盘
百度云盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载 提取码:8nki 目录 · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 1 ...
- 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门
百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...
- Python编程之美:最佳实践指南PDF高清完整版免费下载|百度云盘|Python新手到进阶
百度云盘:Python编程之美:最佳实践指南PDF高清完整版免费下载 提取码:1py6 内容简介 <Python编程之美:最佳实践指南>是Python用户的一本百科式学习指南,由Pytho ...
- 利用python进行数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:hi2j 内容简介 [名人推荐] "科学计算和数据分析社区已经等待这本书很多年了:大量具体的实践建议,以及大量综合应用方法.本书在未来几年里肯定会成为Python领域中技术计 ...
- Python网络数据采集PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:jrno 内容提要 本书采用简洁强大的 Python 语言,介绍了网络数据采集,并为采集新式网络中的各种数据类 型提供了全面的指导.第一部分重点介绍网络数据采集的基本原理:如何用 Py ...
随机推荐
- JAVA集合框架 - Collection
collection大致介绍 Collection是集合层次结构中的根接口. 集合表示一组对象.有些集合允许重复元素,有些则不允许.有些是有序的,有些是无序的. JDK没有提供此接口的任何直接实现:它 ...
- vs2010调试运行时弹出对话框:系统找不到指定文件
很多时候,我们会将一些低版本IDE编译过的项目,搬迁到VS2010 ,那么会存在很多编译,调试问题.[1] 编译成功了.可是无法调试 . . 显示 无法启动程序“...........\t ...
- js的几个小问题
1.存一个有效期为7天的cookie,key = nickname, val = Ace 代码: function setCookie(key,val,expires){ let now=new Da ...
- js实现json格式化,以及json校验工具的简单实现
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, ...
- 实现 React Hooks
实现 React Hooks UI 开发有两个问题: 展示复用 逻辑复用 展示复用目前基本使用组件化来解决,逻辑复用一直以来都没有特别好的解决方案.React 从一开始的 mixin ,到 高阶组件 ...
- Canonical通过Flutter启用Linux桌面应用程序支持
子标题:Ubuntu团队为所有Linux发行版上的Flutter应用程序制作了一个新的基于GTK +的主机. 此文翻译自:https://medium.com/flutter/announcing-f ...
- Python-字符串内容检测
str.isnumeric():检测字符串是否只由数字组成 str.isalpha():检测字符串是否只由字母组成 str.islower():检测字符串中所有的字母是否都为小写 str.isuppe ...
- python面试题五:Python 编程
1.B Tree和B+ Tree的区别? 1.B树中同一键值不会出现多次,并且有可能出现在叶结点,也有可能出现在非叶结点中. 而B+树的键一定会出现在叶结点中,并有可能在非叶结点中重复出现,以维持B+ ...
- 一个HashMap能跟面试官扯上半个小时
一个HashMap能跟面试官扯上半个小时 <安琪拉与面试官二三事>系列文章 一个HashMap能跟面试官扯上半个小时 一个synchronized跟面试官扯了半个小时 一个volatile ...
- 【C#】WebService接受跨域请求及返回json数据
问题概述 通过Web Service发布服务供客户端调用是一种非常简单.方便.快速的手段,并且服务发布后会有一个服务说明页面,直观明了,如图: 一般情况下,在web页面中的JavaScript中调用W ...