python语言及其应用电子版翁正秋_Python语言及其应用pdf

《Python语言及其应用》内容易于理解,而且读起来生动有趣,是编程和Python初学者不可多得的教程。书中首先介绍了Python的基础知识,然后逐渐深入多种主题,结合教程和攻略式风格来讲解Python 3中的概念。每章结尾的练习可以帮助你巩固所学的知识。

《Python语言及其应用》会为你学习Python打下坚实的基础,包括测试、调试、代码复用的实践以及其他开发技巧。同时还会告诉你如何在商业、科学和艺术领域使用Python,并教会你使用多种Python工具和开源包。

通过阅读本书,你将能够:

学习简单的数据类型,以及基本的数学和文本操作

学习用Python内置的数据结构来处理数据

掌握Python的代码结构和函数的用法

使用模块和包编写大规模Python程序

深入理解对象、类和其他面向对象特性

学习使用普通文件、关系数据库和NoSQL数据库来存储数据

使用Python构建Web客户端、服务器、API和服务

管理系统任务,比如程序、进程和线程

理解并发和网络编程的基础知识

Python语言及其应用 内容简介

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

《Python语言及其应用》适合所有编程初学者阅读。

Python语言及其应用 目录

前言 xiv

第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语言及其应用 精彩文摘

1.1 真实世界中的Python

那么,是否真的值得付出时间和努力来学习 Python 呢?它真的有用吗?实际上,Python诞生于 1991 年(比 Java 还早),并且一直是最流行的十门计算机语言之一。公司需要雇用程序员来写 Python 程序,包括你每天都会用到的 Google、YouTube、Dropbox、Netflix 和Hulu 等。我用 Python 开发过许多产品级应用,从邮件搜索应用到商业网站都有。对于发展迅速的组织来说,Python 能极大地提高生产力。

6229.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回溯法基本思想_LeetCode--回溯法心得

这两天在刷LeetCode37题解数独时,被这个回溯法折腾的不要不要的,于是我疼定思疼发誓一定要找个能解决这类回溯法的套路出来,方便以后快速解决此类题目。于是我在网上找了两个很经典的回溯法题目--八皇后问题和迷宫问题,认真总结了…

汇编语言 把最大值放入max 把最小值放入min_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?...

只要稍稍懂点excel的人,都会轻松地求出最大值、最小值。那要求出第2大值、第3大值……第N大值呢?往下看,掌握了方法,排序又变得很简单了。最大最小值最大值:max(B:B),最小值:min(B:B)其中B:B为最…

python3 for_python3 for循环-range遍历

for循环、range遍历 for循环range遍历 range(1,10) 注:是1-9,而不包括最后的10。实例: 九九乘法表: # -*- coding: UTF-8 -*- # 乘法表 for i in range(1,10): for j in range(1,10): print(‘{}*{}{}‘.fo…

php撒意思,php表示是什么意思

php表示超文本预处理器,它是一种通用的开源脚本语言。php是常用的网站编程语言,有着开源性、免费性、快捷性、数据库连接的广泛性、面向过程和面向对象并用等特点。php介绍:PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是…

python暂停和恢复_python-线程的暂停, 恢复, 退出

我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志…

织梦直接写php标签,怎么在自己的php页面中使用dedecms标签

怎么在自己的php页面中使用dedecms标签?这篇文章主要介绍了在自己的php页面中使用dedecms标签的代码示例,需要的朋友可以参考下推荐学习:织梦cms第一步:外部php页面中加入如下代码:require_once (dirname(__FILE__)./../include/c…

xshell搭建宝塔没有远程命令密码框框弹出来_服务器安装宝塔控制面板+wordpress搭建个人网站...

准备工作服务器一台:服务器购买域名一个:随便买一个就行软件环境:宝塔面板第1步:SSH远程连接服务器通过ssh远程连接工具进行服务器主机连接(Xshell、Putty等,百度下载)需要更加详细的关于ssh远程…

python类有什么用_python 定制类 有什么用

展开全部 C.__init__(self[, arg1, ...]) 构造2113器(带一5261些可选的参数) C.__new__(self[, arg1, ...]) 构造器(带一些可选的参数);通常用在设置不变数4102据类型的子类。 C.__del__(self) 解构1653器 C.__str__(self) 可打印的字符输出;内建 str()及 print 语句 C.__repr_…

php列目录设置密码,PHP输入密码并列出目录文件生成超链接代码

一个可以加密文件夹,并且可以展示文件夹内文件的php代码:$password "123456"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST[…

php8vsgo,vscode编辑好go语言代码要怎么运行

vscode运行go语言代码需要安装vscode-go插件。然后使用F5(continue)、F10(step over)、F11(step into)等快捷键运行go语言代码。安装vscode-go 插件进入vscode界面,打开命令面板Ctrl Shift P,输入install,插件特性包括:Completion Lists (using gocode)Signature Help (using…

python送心小人_使用Python画出小人发射爱心的代码

我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) down() def head(x,y,r): go_to(x,y) speed(1) circle(r) leg(x,y) def leg(x,y): right(90) forward(180) right(30) forward(10…

c 函数多次声明_C++核心准则C.132:不要没有理由就将函数声明为虚函数

岫玉C.132: Dont make a function virtual without reasonC.132:不要没有理由就将函数声明为虚函数Reason(原因)Redundant virtual increases run-time and object-code size. A virtual function can be overridden and is thus open to mistakes in a derived class. A virtu…

anaconda3卸载python_机器学习Python编程环境:VSCode+Anaconda

机器学习Python编程环境(Windows):VSCodeAnaconda安装顺序:Anaconda ->VSCode (不必下载Python)->机器学习常用Python包为什么选择VSCode ?Anaconda pycharm是大家都熟悉的Python编程环境,但是pycharm比较笨重&…

bat窗口大小设置_8-Flink中的窗口

戳原文:1-Flink入门2-本地环境搭建&构建第一个Flink应用3-DataSet API 4-DataSteam API5-集群部署6-分布式缓存7-重启策略8-Flink中的窗口9-Flink中的Time窗口窗口类型flink支持两种划分窗口的方式(time和count) 如果根据时间划分窗口&am…

php中pandans,Python地信专题 | 基于geopandas的空间数据分析-文件IO篇

本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1 简介在上一篇文章中我们对geopandas中的坐标参考系有了较为深入的学习,而在日常空间数据分析工作中矢量文件的读入和写出,是至关重要的环节。作为基于geo…

ros创建工作空间_ROS入门学习之七Moveit机械臂控制

1.MoveIt!系统架构MoveIt是什么:一个易于使用的集成化开发平台由一系列移动操作的功能包组成:运动规划、操作控制、3D感知、运动学、控制与导航算法提供友好的GUI可应用于工业、商业、研发和其他领域ROS社区中使用度排名前三的功能包系统架构用户接口(Us…

常用于评价回归模型优劣的统计量包括( )。_第四十一讲 R-判断回归模型性能的指标...

当回归模型建立好以后,如何评价该回归模型是否与另一个回归模型有区别,如何比较两个回归模型的性能?这一讲中,我们将给大家介绍几个评价回归模型性能的统计指标。1. 模型性能指标在回归模型中,最常用的评估指标包括&am…

python 常用包_Python常用指引

Python常用指引Python常用指引的形式来源于Linux文档项目的常用指引章节,是一系列独立、指定主题并尝试完全覆盖该主题的文章集合。致力于提供比Python库参考帮助更详尽的文档。Python 3 是 Python 的未来,但 Python 2 仍处于活跃使用阶段,最…

读取当前linux进程内存_(笔记)Linux上的内存分配

作者: LemonNan原文: https://juejin.im/post/5ee3c34a518825430c3ad31d前言本篇是对Linux内存分配的一个学习笔记.程序内存结构下面是在 Linux/x86-32 中典型的一个进程内存结构文本段包含了进程运行的程序机器语言指令. 文本段具有只读属性, 以防止进程通过勘误指针意外修改自…

php改成IP连接数据库,thinkphp,pdo连接数据库,host自动被替换成了本机ip

class DBAccess extends PDO{ private $charset; // 数据库字符集public $cacheDir_cache_$98sdf29fw!d#s4fef/; public $prename; public $time; function __construct($dsn, $user, $password){ try{ parent::__construct($dsn, $user, $pa…