图书介绍

Python学习手册 上 原书第5版PDF|Epub|txt|kindle电子书版本网盘下载

Python学习手册 上 原书第5版
  • (美)马克 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111603665
  • 出版时间:2018
  • 标注页数:768页
  • 文件大小:93MB
  • 文件页数:796页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Python学习手册 上 原书第5版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

前言1

第一部分 使用入门21

第1章 问答环节21

人们为何使用Python21

软件质量22

开发者效率23

Python是一门“脚本语言”吗23

好吧,Python的缺点是什么25

如今谁在使用Python25

其他的Python设计权衡:一些难以把握的方面26

使用Python可以做些什么28

系统编程28

图形用户界面(GUI)29

Internet脚本29

组件集成30

数据库编程30

快速原型31

数值计算和科学计算编程31

更多内容:游戏、图像、数据挖掘、机器人、Excel等31

Python如何开发并获得支持32

开源的权衡33

Python有哪些技术上的优点33

面向对象和函数式33

免费34

可移植34

功能强大35

可混合36

相对简单易用36

相对简单易学37

以Monty Python命名37

Python和其他语言比较起来怎么样38

本章小结39

本章习题39

习题解答40

Python是工程,不是艺术41

第2章 Python如何运行程序43

Python解释器简介43

程序执行45

程序员的视角45

Python的视角46

执行模型的变体48

Python的各种实现49

执行优化工具52

冻结二进制文件53

未来的可能性54

本章小结55

本章习题55

习题解答56

第3章 你应如何运行程序57

交互式命令行模式57

开始一个交互式会话57

Windows平台上的交互式命令行在哪里59

系统路径59

Python 3.3中的新Windows选项:PATH和启动器60

运行的位置:代码目录61

不需要输入的内容:提示符和注释62

交互式地运行代码63

为什么要使用交互式命令行模式64

使用注意:交互命令行模式65

系统命令行和文件67

第一段脚本68

使用命令行运行文件69

不同的命令行使用方式70

使用注意:命令行和文件71

UNIX风格可执行脚本:#!72

UNIX脚本基础72

UNIX env查找技巧73

Python 3.3 Windows启动器:Windows也有#!了73

点击文件图标75

图标点击基础知识75

在Windows上点击图标76

Windows上输入的技巧77

其他图标点击的限制79

模块导入和重载79

导入和重载基础知识80

模块的宏观视角:属性82

使用注意:import和reload85

使用exec运行模块文件85

IDLE用户界面86

IDLE启动细节87

IDLE基础用法88

IDLE功能特性89

高级IDLE工具90

使用注意:IDLE90

其他IDE92

其他启动选项93

嵌入式调用93

冻结二进制可执行文件94

文本编辑器启动方式94

其他的启动方式95

未来的可能95

应该选用哪种方式95

调试Python代码96

本章小结97

本章习题97

习题解答98

第一部分练习题99

第二部分 类型和运算105

第4章 介绍Python对象类型105

Python知识结构105

为什么要使用内置类型106

Python核心数据类型107

数字108

字符串110

序列操作110

不可变性112

特定类型的方法113

寻求帮助115

字符串编程的其他方式116

Unicode字符串117

模式匹配119

列表120

序列操作120

特定的操作121

边界检查121

嵌套122

推导122

字典125

映射操作125

重访嵌套126

不存在的键:if测试128

键的排序:for循环129

迭代和优化131

元组132

为什么要使用元组133

文件133

二进制字节文件134

Unicode文本文件135

其他类文件工具137

其他核心类型137

如何破坏代码的灵活性139

用户定义的类140

剩余的内容141

本章小结141

本章习题141

习题解答142

第5章 数值类型143

数值类型基础知识143

数值字面量144

内置数值工具146

Python表达式运算符146

数字的实际应用151

变量与基础表达式151

数值的显示格式153

str和repr显示格式154

普通比较与链式比较154

除法:经典除法、向下取整除法和真除法156

整数精度160

复数160

十六进制、八进制和二进制:字面量与转换161

按位操作163

其他内置数值工具164

其他数值类型167

小数类型167

分数类型169

集合173

布尔型180

数值扩展181

本章小结182

本章习题182

习题解答182

第6章 动态类型184

缺少声明语句的情况184

变量、对象和引用184

类型属于对象,而不是变量186

对象的垃圾收集187

关于Python垃圾回收的更多讨论188

共享引用189

共享引用和在原位置修改190

共享引用和相等192

动态类型随处可见193

“弱”引用194

本章小结194

本章习题194

习题解答195

第7章 字符串基础196

本章范围196

Unicode简介197

字符串基础197

字符串字面量199

单引号和双引号字符串是一样的200

转义序列代表特殊字符200

原始字符串阻止转义203

三引号编写多行块字符串205

实际应用中的字符串206

基本操作206

索引和分片207

请留意:分片211

字符串转换工具212

修改字符串I214

字符串方法216

方法调用语法216

字符串的方法217

字符串方法示例:修改字符串Ⅱ218

字符串方法示例:解析文本220

实际应用中的其他常见字符串方法220

原始string模块的函数(在Python 3.X中删除)221

字符串格式化表达式223

格式化表达式基础224

高级格式化表达式语法225

高级格式化表达式举例226

基于字典的格式化表达式227

字符串格式化方法调用228

字符串格式化方法基础228

添加键、属性和偏移量229

高级格式化方法语法230

高级格式化方法举例231

与%格式化表达式比较233

为什么使用格式化方法236

通用类型分类241

同一分类中的类型共享同一个操作集241

可变类型能够在原位置修改242

本章小结242

本章习题243

习题解答243

第8章 列表与字典245

列表245

列表的实际应用248

基本列表操作248

列表迭代和推导248

索引、分片和矩阵249

原位置修改列表250

字典256

字典的实际应用258

字典的基本操作258

原位置修改字典259

其他字典方法260

示例:电影数据库262

字典用法注意事项263

创建字典的其他方式267

请留意:字典vs列表268

Python 3.X和2.7中的字典变化269

请留意:字典接口276

本章小结277

本章习题277

习题解答277

第9章 元组、文件与其他核心类型279

元组280

元组的实际应用281

为什么有了列表还要元组283

重访记录:有名元组284

文件286

打开文件287

使用文件288

文件的实际应用289

文本和二进制文件:一个简要的故事290

在文件中存储Python对象:转换291

存储Python原生对象:pickle293

用JSON格式存储Python对象294

存储打包二进制数据:struct296

文件上下文管理器297

其他文件工具297

核心类型复习与总结299

请留意:运算符重载300

对象灵活性300

引用vs复制301

比较、等价性和真值303

Python中True和False的含义307

Python的类型层次309

类型的对象309

Python中的其他类型311

内置类型陷阱311

赋值创建引用,而不是复制311

重复会增加层次深度312

注意循环数据结构313

不可变类型不可以在原位置改变313

本章小结314

本章习题314

习题解答315

第二部分练习题315

第三部分 语句和语法321

第10章 Python语句简介321

重温Python的知识结构321

Python的语句322

两种不同的if324

Python增加的元素325

Python删除的元素325

为什么采用缩进语法327

几种特殊情况329

简短示例:交互式循环331

一个简单的交互式循环331

对用户输入做数学运算333

通过测试输入数据来处理错误334

用try语句处理错误335

嵌套三层深的代码337

本章小结338

本章习题338

习题解答338

第11章 赋值、表达式和打印340

赋值语句340

赋值语句形式341

序列赋值342

Python 3.X中的扩展序列解包345

多目标赋值349

增量赋值350

变量命名规则353

Python中的废弃协议355

表达式语句356

表达式语句和原位置修改358

打印操作358

Python 3.X的print函数359

Python 2.X的print语句362

打印流重定向363

版本中立的打印367

为什么你要注意:print和stdout369

本章小结370

本章习题370

习题解答370

第12章 if测试和语法规则372

if语句372

一般形式372

基础示例373

多路分支373

复习Python语法规则375

代码块分隔符:缩进规则377

语句分隔符:行与行间连接符378

一些特殊情况379

真值和布尔测试381

if/else三元表达式383

请留意:布尔值384

本章小结386

本章习题386

习题解答386

第13章 while循环和for循环387

while循环387

一般形式387

示例388

break、continue、pass和循环的else389

一般循环形式389

pass389

continue391

break391

循环的else392

请留意:仿真C语言的while循环393

for循环394

一般形式394

示例395

请留意:文件扫描器400

编写循环的技巧402

计数器循环:range402

序列扫描:while和range vs for403

序列乱序器:range和len404

非穷尽遍历:range vs分片405

修改列表:range vs推导406

并行遍历:zip和map407

同时给出偏移量和元素:enumerate410

请留意:shell命令及其他411

本章小结414

本章习题414

习题解答414

第14章 迭代和推导416

迭代器:初次探索417

迭代协议:文件迭代器417

手动迭代:iter和next420

其他内置类型可迭代对象423

列表推导:初次深入探索425

列表推导基础426

在文件上使用列表推导427

扩展的列表推导语法428

其他迭代上下文430

Python 3.X新增的可迭代对象435

对Python 2.X版本代码的影响:利与弊435

range可迭代对象436

map、zip和filter可迭代对象437

多遍迭代器vs单遍迭代器439

字典视图可迭代对象440

其他迭代话题441

本章小结442

本章习题442

习题解答442

第15章 文档444

Python文档资源444

#注释445

dir函数445

文档字符串:_doc_447

PyDoc:help函数450

PyDoc:HTML报告453

改变PyDoc的颜色456

超越文档字符串:Sphinx461

标准手册集462

网络资源463

已出版的书籍463

常见代码编写陷阱463

本章小结465

本章习题466

习题解答466

第三部分练习题467

第四部分 函数和生成器473

第16章 函数基础473

为何使用函数474

编写函数475

def语句476

def语句执行于运行时477

第一个示例:定义和调用478

定义478

调用478

Python中的多态479

第二个示例:寻找序列的交集480

定义480

调用481

重访多态482

局部变量482

本章小结483

本章习题483

习题解答483

第17章 作用域485

Python作用域基础485

作用域细节486

变量名解析:LEGB规则488

作用域实例490

内置作用域491

打破Python 2.X的小宇宙494

global语句494

程序设计:最少化全局变量495

程序设计:最小化跨文件的修改497

其他访问全局变量的方式498

作用域和嵌套函数499

嵌套作用域的细节500

嵌套作用域举例500

工厂函数:闭包501

使用默认值参数来保存外层作用域的状态503

Python 3.X中的nonlocal语句507

nonlocal基础508

nonlocal应用509

为什么选nonlocal?状态保持备选项511

nonlocal变量的状态:仅适用于Python 3.X511

全局变量的状态:只有一份副本512

类的状态:显式属性(预习)513

函数属性的状态:Python 3.X和Python 2.X的异同514

请留意:定制open516

本章小结518

本章习题518

习题解答520

第18章 参数521

参数传递基础521

参数和共享引用522

避免修改可变参数524

模拟输出参数和多重结果525

特殊的参数匹配模式526

参数匹配基础526

参数匹配语法527

更深入的细节528

关键字参数和默认值参数的示例529

可变长参数的实例532

Python 3.X的keyword-only参数536

min提神小例539

满分540

附加分541

结论542

通用set函数542

模拟Python 3.X print函数544

使用keyword-only参数546

请留意:关键字参数547

本章小结548

本章习题548

习题解答549

第19章 函数的高级话题550

函数设计概念550

递归函数552

用递归求和552

编码替代方案553

循环语句vs递归554

处理任意结构555

函数对象:属性和注解558

间接函数调用:“一等”对象559

函数自省560

函数属性561

Python 3.X中的函数注解562

匿名函数:lambda564

lambda表达式基础564

为什么使用lambda566

如何(不)让Python代码变得晦涩难懂568

作用域:lambda也能嵌套569

请留意:lambda回调570

函数式编程工具570

在可迭代对象上映射函数:map571

选择可迭代对象中的元素:filter573

合并可迭代对象中的元素:reduce573

本章小结575

本章习题575

习题解答575

第20章 推导和生成577

列表推导与函数式编程工具577

列表推导与map578

使用filter增加测试和循环嵌套579

示例:列表推导与矩阵582

不要滥用列表推导:简单胜于复杂(KISS)584

请留意:列表推导和map585

生成器函数与表达式587

生成器函数:yield vs return587

生成器表达式:当可迭代对象遇见推导语法592

生成器函数vs生成器表达式597

生成器是单遍迭代对象599

Python 3.3的yield from扩展600

内置类型、工具和类中的值生成601

实例:生成乱序序列604

不要过度使用生成器:明确胜于隐晦(EIBTI)609

示例:用迭代工具模拟zip和map611

为什么你要注意:单遍迭代616

推导语法总结617

作用域及推导变量617

理解集合推导和字典推导619

集合与字典的扩展推导语法620

本章小结621

本章习题621

习题解答621

第21章 基准测试623

计时迭代可选方案623

自己编写的计时模块624

3.3版本中新的计时器调用627

计时脚本628

计时结果630

计时模块可选方案633

其他建议636

用timeit为迭代和各种Python计时637

timeit基础用法637

基准测试模块和脚本:timeit641

基准测试脚本结果643

基准测试的更多乐趣646

其他基准测试主题:pystones650

函数陷阱651

局部变量是被静态检测的651

默认值参数和可变对象653

没有return语句的函数655

其他函数陷阱655

本章小结656

本章习题656

习题解答656

第四部分练习题657

第五部分 模块和包663

第22章 模块:宏伟蓝图663

为什么使用模块664

Python程序架构664

如何组织一个程序665

导入和属性665

标准库模块667

import如何工作667

1.搜索668

2.编译(可选)668

3.运行669

字节码文件:Python 3.2及以上版本的_pycache_670

实际应用中的字节码文件模型671

模块搜索路径672

配置搜索路径674

搜索路径的变化674

sys.path列表675

模块文件选择676

第三方工具:distutils678

本章小结678

本章习题679

习题解答679

第23章 模块代码编写基础680

模块的创建680

模块文件名680

其他种类的模块681

模块的使用681

import语句681

from语句682

from*语句682

导入只发生一次683

import和from是赋值语句684

import和from的等价性685

from语句潜在的陷阱686

模块命名空间687

文件产生命名空间687

命名空间字典:_dict_689

属性名称的点号运算689

导入与作用域690

命名空间的嵌套691

重新加载模块692

reload基础693

reload示例694

请留意:模块重新加载695

本章小结696

本章习题696

习题解答696

第24章 模块包698

包导入基础698

包和搜索路径设置699

_init_.py包文件700

包导入示例702

包的from语句与包的import语句703

为什么要使用包导入704

三个系统的故事705

请留意:模块包707

包相对导入708

Python 3.X中的变化708

相对导入基础知识709

为什么使用相对导入710

相对导入的适用情况713

模块查找规则总结713

相对导入的实际应用714

包相对导入的陷阱:混合使用719

Python 3.3中的命名空间包724

命名空间包的语义725

对常规包的影响:可选的_init_.py726

命名空间包的实际应用727

命名空间包嵌套729

文件仍然优先于路径730

本章小结732

本章习题732

习题解答733

第25章 高级模块话题734

模块设计概念734

模块中的数据隐藏736

使*的破坏最小化:_X和_all_736

启用未来语言特性:_future_737

混合使用模式:_name_和_main_738

以_name_进行单元测试739

示例:双模式代码740

货币符号:Unicode的应用743

文档字符串:模块文档的应用745

修改模块搜索路径746

import语句和from语句的as扩展747

示例:模块即是对象748

用名称字符串导入模块750

运行代码字符串751

直接调用:两种方式751

示例:传递性模块重载译注1752

递归重载器752

另外的代码756

模块陷阱759

模块名称冲突:包和包相对导入760

顶层代码中语句次序很重要760

from复制名称,而不是链接761

from*会让变量含义模糊化762

reload不能作用于from导入762

reload、from以及交互式测试763

递归形式的from导入可能无法工作764

本章小结765

本章习题766

习题解答766

第五部分练习题766

热门推荐