图书介绍

Python核心编程 第2版PDF|Epub|txt|kindle电子书版本下载

Python核心编程 第2版
  • (美) 丘恩(Chun. W.J.)著;宋吉广译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115178503
  • 出版时间:2008
  • 标注页数:654页
  • 文件大小:210MB
  • 文件页数:678页
  • 主题词:软件工具-程序设计

PDF下载


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

下载说明

Python核心编程 第2版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 欢迎来到Python世界3

1.1什么是Python4

1.2起源4

1.3特点4

1.3.1高级4

1.3.2面向对象5

1.3.3可升级5

1.3.4可扩展5

1.3.5可移植性5

1.3.6易学6

1.3.7易读6

1.3.8易维护6

1.3.9健壮性6

1.3.10高效的快速原型开发工具6

1.3.11内存管理器7

1.3.12解释性和(字节)编译性7

1.4下载和安装Python7

1.5运行Python8

1.5.1命令行上的交互式解释器9

1.5.2从命令行启动脚本10

1.5.3集成开发环境11

1.5.4其他的集成开发环境和执行环境14

1.6Python文档15

1.7比较Python(Python与其他语言的比较)15

1.8其他实现17

1.9练习18

第2章 快速入门19

2.1程序输出,print语句及“Hello World!”20

2.2程序输入和raw input()内建函数21

2.3注释22

2.4操作符22

2.5变量和赋值24

2.6数字24

2.7字符串25

2.8列表和元组26

2.9字典26

2.10代码块及缩进对齐27

2.11if语句27

2.12while循环28

2.13for循环和range()内建函数28

2.14列表解析30

2.15文件和内建函数open()、file()30

2.16错误和异常31

2.17函数32

2.17.1如何定义函数32

2.17.2如何调用函数32

2.17.3默认参数33

2.18类33

2.19模块35

2.19.1如何导入模块35

2.19.2如何访问一个模块函数或访问一个模块变量35

2.20实用的函数36

2.21练习36

第3章 Python基础39

3.1语句和语法40

3.1.1注释(#)40

3.1.2继续()40

3.1.3多个语句构成代码组(:)41

3.1.4代码组由不同的缩进分隔41

3.1.5同一行书写多个语句(;)41

3.1.6模块41

3.2变量赋值42

3.2.1赋值操作符42

3.2.2增量赋值42

3.2.3多重赋值43

3.2.4“多元”赋值43

3.3标识符44

3.3.1合法的Python标识符44

3.3.2关键字44

3.3.3内建45

3.3.4专用下划线标识符45

3.4基本风格指南45

3.4.1模块结构和布局46

3.4.2在主程序中书写测试代码48

3.5内存管理49

3.5.1变量定义49

3.5.2动态类型49

3.5.3内存分配49

3.5.4引用计数50

3.5.5垃圾收集51

3.6第一个python程序51

3.7相关模块和开发工具54

3.8练习55

第4章 Python对象56

4.1Python对象57

4.2标准类型57

4.3其他内建类型58

4.3.1类型对象和type类型对象58

4.3.2None——Python的Null对象58

4.4内部类型59

4.4.1代码对象59

4.4.2帧对象60

4.4.3跟踪记录对象60

4.4.4切片对象60

4.4.5省略对象60

4.4.6XRange对象60

4.5标准类型操作符61

4.5.1对象值的比较61

4.5.2对象身份比较61

4.5.3布尔类型64

4.6标准类型内建函数64

4.6.1type()64

4.6.2cmp()65

4.6.3str()和repr()(及?操作符)66

4.6.4type()和isinstance()67

4.6.5Python类型操作符和内建函数总结70

4.7类型工厂函数70

4.8标准类型的分类71

4.8.1存储模型71

4.8.2更新模型72

4.8.3访问模型73

4.9不支持的类型74

4.10练习75

第5章 数字76

5.1数字简介77

5.1.1如何创建数值对象并用其赋值(数字对象)77

5.1.2如何更新数字对象77

5.1.3如何删除数字对象77

5.2整型77

5.2.1布尔型78

5.2.2标准整型78

5.2.3长整型78

5.2.4整型和长整型的统一79

5.3双精度浮点型79

5.4复数80

5.5操作符81

5.5.1混合模式操作符81

5.5.2标准类型操作符82

5.5.3算术操作符82

5.5.4*位操作符(只适用于整型)86

5.6内建函数与工厂函数87

5.6.1标准类型函数87

5.6.2数字类型函数87

5.6.3仅用于整型的函数92

5.7其他数字类型93

5.7.1布尔“数”93

5.7.2十进制浮点型94

5.8相关模块95

5.9练习97

第6章 序列:字符串、列表和元组100

6.1序列101

6.1.1标准类型操作符101

6.1.2序列类型操作符101

6.1.3内建函数(BIF)106

6.2字符串107

6.3字符串和操作符109

6.3.1标准类型操作符109

6.3.2序列操作符切片([]和[:])109

6.4只适用于字符串的操作符114

6.4.1格式化操作符(%)114

6.4.2字符串模板:更简单的替代品117

6.4.3原始字符串操作符(r/R)118

6.4.4Unicode字符串操作符(u/U)119

6.5内建函数119

6.5.1标准类型函数119

6.5.2序列类型函数119

6.5.3字符串类型函数120

6.6字符串内建函数121

6.7字符串的独特特性124

6.7.1特殊字符串和控制字符124

6.7.2三引号125

6.7.3字符串不变性126

6.8Unicode127

6.8.1术语127

6.8.2什么是Unicode128

6.8.3怎样使用Unicode128

6.8.4Codec是什么129

6.8.5编码解码129

6.8.6把Unicode应用到实际应用中130

6.8.7从现实中得来的教训131

6.8.8Python的Unicode支持131

6.9相关模块133

6.10字符串关键点总结134

6.11列表134

6.12操作符136

6.12.1标准类型操作符136

6.12.2序列类型操作符136

6.12.3列表类型操作符和列表解析139

6.13内建函数139

6.13.1标准类型函数139

6.13.2序列类型函数140

6.13.3列表类型内建函数142

6.14列表类型的内建函数142

6.15列表的特殊特性145

6.16元组151

6.17元组操作符和内建函数152

6.17.1标准类型操作符、序列类型操作符和内建函数152

6.17.2元组类型操作符和内建函数、内建方法153

6.18元组的特殊特性153

6.18.1不可变性给元组带来了什么影响153

6.18.2元组也不是那么“不可变”153

6.18.3默认集合类型154

6.18.4单元素元组155

6.18.5字典的关键字155

6.19相关模块156

6.20*拷贝Python对象、浅拷贝和深拷贝156

6.21序列类型小结158

6.22练习160

第7章 映像和集合类型163

7.1映射类型:字典164

7.1.1如何创建字典和给字典赋值164

7.1.2如何访问字典中的值165

7.1.3如何更新字典166

7.1.4如何删除字典元素和字典167

7.2映射类型操作符167

7.2.1标准类型操作符167

7.2.2映射类型操作符168

7.3映射类型的内建函数和工厂函数168

7.3.1标准类型函数[type()、str()和cmp()]168

7.3.2映射类型相关的函数170

7.4映射类型内建方法172

7.5字典的键174

7.5.1不允许一个键对应多个值174

7.5.2键必须是可哈希的175

7.6集合类型178

7.6.1如何创建集合类型和给集合赋值179

7.6.2如何访问集合中的值179

7.6.3如何更新集合179

7.6.4如何删除集合中的成员和集合180

7.7集合类型操作符180

7.7.1标准类型操作符(所有的集合类型)180

7.7.2集合类型操作符(所有的集合类型)181

7.7.3集合类型操作符(仅适用于可变集合)182

7.8内建函数183

7.8.1标准类型函数183

7.8.2集合类型工厂函数183

7.9集合类型内建方法184

7.9.1方法(所有的集合方法)184

7.9.2方法(仅适用于可变集合)184

7.9.3操作符和内建方法比较185

7.10集合类型总结表185

7.11相关模块186

7.12练习186

第8章 条件和循环189

8.1if语句190

8.1.1多重条件表达式190

8.1.2单一语句的代码块190

8.2else语句190

8.3elif(即else-if)语句191

8.4条件表达式(即“三元操作符”)192

8.5while语句193

8.5.1一般语法193

8.5.2计数循环193

8.5.3无限循环194

8.6for语句194

8.6.1一般语法194

8.6.2用于序列类型195

8.6.3用于迭代器类型196

8.6.4range()内建函数196

8.6.5xrange()内建函数198

8.6.6与序列相关的内建函数198

8.7break语句199

8.8continue语句199

8.9pass语句200

8.10再谈else语句200

8.11迭代器和iter()函数202

8.11.1什么是迭代器202

8.11.2为什么要迭代器202

8.11.3如何迭代202

8.11.4使用迭代器203

8.11.5可变对象和迭代器204

8.11.6如何创建迭代器204

8.12列表解析205

8.13生成器表达式206

8.14相关模块209

8.15练习209

第9章 文件和输入输出212

9.1文件对象213

9.2文件内建函数(open()和file())213

9.2.1工厂函数file()214

9.2.2通用换行符支持(UNS)214

9.3文件内建方法215

9.3.1输入215

9.3.2输出215

9.3.3文件内移动216

9.3.4文件迭代216

9.3.5其他216

9.3.6文件方法杂项217

9.4文件内建属性219

9.5标准文件220

9.6命令行参数220

9.7文件系统221

9.8文件执行227

9.9永久存储模块227

9.9.1pickle和marshal模块227

9.9.2DBM风格的模块228

9.9.3shelve模块228

9.10相关模块229

9.11练习230

第10章 错误和异常234

10.1什么是异常235

10.1.1错误235

10.1.2异常235

10.2Python中的异常236

10.3检测和处理异常237

10.3.1try-except语句238

10.3.2包装内建函数238

10.3.3带有多个except的try语句240

10.3.4处理多个异常的except语句241

10.3.5捕获所有异常242

10.3.6“异常参数”244

10.3.7在应用使用我们封装的函数245

10.3.8else子句247

10.3.9finally子句248

10.3.10try-finally语句248

10.3.11try-except-else-finally:厨房一锅端250

10.4上下文管理251

10.4.1with语句251

10.4.2*上下文管理协议252

10.5*字符串作为异常252

10.6触发异常253

10.7断言254

10.8标准异常255

10.9*创建异常257

10.10(现在)为什么用异常262

10.11到底为什么要异常263

10.12异常和sys模块263

10.13相关模块264

10.14练习264

第11章 函数和函数式编程266

11.1什么是函数?267

11.1.1函数vs过程267

11.1.2返回值与函数类型267

11.2调用函数268

11.2.1函数操作符268

11.2.2关键字参数269

11.2.3默认参数269

11.2.4参数组269

11.3创建函数272

11.3.1def语句272

11.3.2声明与定义比较272

11.3.3前向引用272

11.3.4函数属性273

11.3.5内部/内嵌函数274

11.3.6*函数(与方法)装饰器275

11.4传递函数278

11.5Formal Arguments279

11.5.1位置参数279

11.5.2默认参数279

11.6可变长度的参数282

11.6.1非关键字可变长参数(元组)282

11.6.2关键字变量参数(字典)283

11.6.3调用带有可变长参数对象函数284

11.7函数式编程286

11.7.1匿名函数与lambda286

11.7.2内建函数apply()、filter()、map()、reduce()288

11.7.3偏函数应用293

11.8变量作用域295

11.8.1全局变量与局部变量295

11.8.2globa语句296

11.8.3作用域的数字297

11.8.4闭包298

11.8.5作用域和lambda302

11.8.6变量作用域和名称空间304

11.9*递归304

11.10生成器305

11.10.1简单的生成器特性305

11.10.2加强的生成器特性307

11.11练习308

第12章 模块310

12.1什么是模块311

12.2模块和文件311

12.2.1模块名称空间311

12.2.2搜索路径和路径搜索311

12.3名称空间312

12.3.1名称空间与变量作用域比较313

12.3.2名称查找、确定作用域、覆盖314

12.3.3无限制的名称空间314

12.4导入模块315

12.4.1import语句315

12.4.2from-import语句315

12.4.3多行导入316

12.4.4扩展的import语句(as)316

12.5模块导入的特性316

12.5.1载入时执行模块316

12.5.2导入(import)和加载(load)317

12.5.3导入到当前名称空间的名称317

12.5.4被导入到导入者作用域的名字317

12.5.5关于_future_318

12.5.6警告框架318

12.5.7从ZIP文件中导入模块319

12.5.8“新的”导入钩子319

12.6模块内建函数319

12.6.1_import_()319

12.6.2globals()和locals()320

12.6.3reload()320

12.7包321

12.7.1目录结构321

12.7.2使用from-import导入包322

12.8模块的其他特性323

12.8.1自动载入的模块323

12.8.2阻止属性导入323

12.8.3不区分大小的导入323

12.8.4源代码编码324

12.8.5导入循环324

12.8.6模块执行325

12.9相关模块325

12.10练习326

第13章 面向对象编程327

13.1引言328

13.2面向对象编程333

13.2.1面向对象设计与面向对象编程的关系333

13.2.2现实中的问题334

13.2.3*常用术语334

13.3类335

13.3.1创建类336

13.3.2声明与定义336

13.4类属性336

13.4.1类的数据属性337

13.4.2Methods337

13.4.3决定类的属性338

13.4.4特殊的类属性339

13.5实例340

13.5.1初始化:通过调用类对象来创建实例340

13.5.2_init_()“构造器”方法341

13.5.3_new_()“构造器”方法342

13.5.4_del_()“解构器”方法342

13.6实例属性344

13.6.1“实例化”实例属性(或创建一个更好的构造器)344

13.6.2查看实例属性346

13.6.3特殊的实例属性346

13.6.4建类型属性347

13.6.5实例属性vs类属性348

13.7绑定和方法调用350

13.7.1调用绑定方法351

13.7.2调用非绑定方法351

13.8静态方法和类方法352

13.8.1staticmethod()和classmethod()内建函数352

13.8.2使用函数修饰符353

13.9组合353

13.10子类和派生354

13.11继承355

13.11.1bases类属性356

13.11.2通过继承覆盖方法356

13.11.3从标准类型派生358

13.11.4多重继承360

13.12类、实例和其他对象的内建函数363

13.12.1issubclass()363

13.12.2isinstance()363

13.12.3hasattr()、getattr()、setattr()、delattr()364

13.12.4dir()365

13.12.5super()365

13.12.6vars()366

13.13用特殊方法定制类367

13.13.1简单定制(RoundFloat2)370

13.13.2数值定制(Time60)372

13.13.3迭代器(RandSeq和AnyIter)375

13.13.4*多类型定制(NumStr)377

13.14私有化381

13.15*授权382

13.15.1包装382

13.15.2实现授权383

13.16新式类的高级特性(Python 2.2+)388

13.16.1新式类的通用特性388

13.16.2_slots_类属性389

13.16.3_getattribute_()特殊方法390

13.16.4描述符390

13.16.5元类和metaclass399

13.17相关模块和文档403

13.18练习405

第14章 执行环境410

14.1可调用对象411

14.1.1函数411

14.1.2方法413

14.1.3类415

14.1.4类的实例415

14.2代码对象416

14.3可执行的对象声明和内建函数416

14.3.1callable()417

14.3.2compile()417

14.3.3eva1()418

14.3.4exec419

14.3.5input()420

14.3.6使用Python在运行时生成和执行Python代码420

14.4执行其他(Python)程序426

14.4.1导入426

14.4.2execfile()427

14.4.3将模块作为脚本执行428

14.5执行其他(非Python)程序428

14.5.1os.system()429

14.5.2os.popen()430

14.5.3os.fork()、os.exec*)、os.wait*)431

14.5.4os.spawn*)432

14.5.5subprocess模块432

14.5.6相关函数433

14.6受限执行433

14.7结束执行434

14.7.1sys.exit()and SystemExit434

14.7.2sys.exitfunc()435

14.7.3os._exit()函数435

14.7.4os.kill()Function435

14.8各种操作系统接口436

14.9相关模块436

14.10练习437

第15章 正则表达式441

15.1引言/动机442

15.2正则表达式使用的特殊符号和字符443

15.2.1用管道符号(|)匹配多个正则表达式模式444

15.2.2匹配任意一个单个的字符(.)444

15.2.3从字符串的开头或结尾或单词边界开始匹配(∧/$∧b∧B)444

15.2.4创建字符类([])445

15.2.5指定范围(-)和否定(^)445

15.2.6使用闭包操作符(*,+,?,{})实现多次出现/重复匹配446

15.2.7特殊字符表示、字符集446

15.2.8用圆括号(())组建组447

15.3正则表达式和Python语言447

15.3.1re模块:核心函数和方法448

15.3.2使用compile()编译正则表达式449

15.3.3匹配对象和group()、groups()方法449

15.3.4用match()匹配字符串449

15.3.5search()在一个字符串中查找一个模式(搜索与匹配的比较)450

15.3.6匹配多个字符串(|)451

15.3.7匹配任意单个字符(.)451

15.3.8创建字符集合([])452

15.3.9重复、特殊字符和子组452

15.3.10从字符串的开头或结尾匹配及在单词边界上的匹配454

15.3.11用findall()找到每个出现的匹配部分455

15.3.12用sub()(和subn())进行搜索和替换455

15.3.13用split()分割(分隔模式)455

15.4正则表达式示例458

15.4.1匹配一个字符串460

15.4.2搜索与匹配的比较,“贪婪”匹配461

15.5练习463

第16章 网络编程465

16.1引言466

16.1.1什么是客户端/服务器架构466

16.1.2客户端/服务器网络编程468

16.2套接字:通信端点468

16.2.1什么是套接字468

16.2.2套接字地址:主机与端口469

16.2.3面向连接与无连接469

16.3Python中的网络编程469

16.3.1socket()模块函数470

16.3.2套接字对象(内建)方法470

16.3.3创建一个TCP服务器471

16.3.4创建TCP客户端473

16.3.5运行我们的客户端与TCP服务器474

16.3.6创建一个UDP服务器475

16.3.7创建一个UDP客户端476

16.3.8执行UDP服务器和客户端477

16.3.9Socket模块属性478

16.4*SocketServer模块479

16.4.1创建一个SocketServerTCP服务器479

16.4.2创建SocketServerTCP客户端480

16.4.3执行TCP服务器和客户端481

16.5Twisted框架介绍482

16.5.1创建一个Twisted Reactor TCP服务器482

16.5.2创建一个Twisted Reactor TCP客户端483

16.5.3执行TCP服务器和客户端484

16.6相关模块484

16.7练习485

第17章 网络客户端编程487

17.1什么是因特网客户端488

17.2文件传输488

17.2.1文件传输网际协议488

17.2.2文件传输协议(FTP)488

17.2.3Python和FTP489

17.2.4fplib.FTP类方法490

17.2.5交互式FTP示例490

17.2.6客户端FTP程序举例491

17.2.7FTP的其他方面492

17.3网络新闻493

17.3.1Usenet与新闻组493

17.3.2网络新闻传输协议(NNTP)493

17.3.3Python和NNTP494

17.3.4nntplib.NNTP类方法494

17.3.5交互式NNTP举例495

17.3.6客户端程序NNTP举例496

17.3.7NNTP的其他方面500

17.4电子邮件500

17.4.1电子邮件系统组件和协议500

17.4.2发送电子邮件501

17.4.3Python和SMTP501

17.4.4smtplib.SMTP类方法502

17.4.5交互式SMTP示例502

17.4.6SMTP的其他方面503

17.4.7接收电子邮件503

17.4.8POP和IMAP504

17.4.9Python和POP3504

17.4.10交互式POP3举例505

17.4.11poplib.POP3类方法506

17.4.12客户端程序SMTP和POP3举例506

17.5相关模块508

17.5.1电子邮件508

17.5.2其他网络协议508

17.6练习509

第18章 多线程编程512

18.1引言/动机513

18.2线程和进程513

18.2.1什么是进程513

18.2.2什么是线程514

18.3Python、线程和全局解释器锁514

18.3.1全局解释器锁(GIL)514

18.3.2退出线程515

18.3.3在Python中使用线程515

18.3.4没有线程支持的情况515

18.3.5Python的threading模块516

18.4thread模块517

18.5threading模块520

18.5.1Thread类521

18.5.2斐波那契、阶乘和累加和525

18.5.3threading模块中的其他函数528

18.5.4生产者-消费者问题和Queue模块528

18.6相关模块531

18.7练习531

第19章 图形用户界面编程532

19.1简介533

19.1.1什么是Tcl、Tk和Tkinter533

19.1.2安装和使用Tkinter533

19.1.3客户端/服务器架构534

19.2Tkinter与Python编程534

19.2.1Tkinter模块:把Tk引入你的程序534

19.2.2GUI程序开发简介534

19.2.3顶层窗口:Tkinter.Tk()535

19.2.4Tk组件535

19.3Tkinter举例536

19.3.1标签组件536

19.3.2按钮组件537

19.3.3标签和按钮组件537

19.3.4标签、按钮和进度条组件538

19.3.5偏函数应用举例539

19.3.6中级Tkinter范例541

19.4其他GUI简介545

19.4.1Tk Interface eXtensions(Tix)546

19.4.2Python MegaWidgets(PMW)547

19.4.3wxWidgets和wxPython547

19.4.4GTK+和PyGTK549

19.5相关模块和其他GU1551

19.6练习553

第20章 Web编程554

20.1介绍555

20.1.1Web应用:客户端/服务器计算555

20.1.2因特网555

20.2使用Python进行Web应用:创建一个简单的Web客户端556

20.2.1统一资源定位符556

20.2.2urlparse模块557

20.2.3urllib模块558

20.2.4urllib2模块561

20.3高级Web客户端563

20.4CGI:帮助Web服务器处理客户端数据567

20.4.1CGI介绍567

20.4.2CGI应用程序568

20.4.3cgi模块569

20.5建立CGI应用程序569

20.5.1建立Web服务器569

20.5.2建立表单页569

20.5.3生成结果页570

20.5.4生成表单和结果页面571

20.5.5全面交互的Web站点574

20.6在CGI中使用Unicode编码577

20.7高级CGI579

20.7.1Mulitipart表单提交和文件的上传579

20.7.2多值字段579

20.7.3cookie579

20.7.4使用高级CGI580

20.8Web(HTTP)服务器587

20.9相关模块589

20.10练习590

第21章 数据库编程593

21.1介绍594

21.1.1持久存储594

21.1.2基本的数据库操作和SQL语言594

21.1.3数据库和Python596

21.2Python数据库应用程序程序员接口(DB-API)596

21.2.1模块属性597

21.2.2连接对象598

21.2.3游标对象599

21.2.4类型对象和构造器600

21.2.5关系数据库601

21.2.6数据库和Python:接口程序602

21.2.7使用数据库接口程序举例602

21.3对象-关系管理器(ORM)611

21.3.1考虑对象,而不是SQL611

21.3.2Python和ORM611

21.3.3雇员数据库举例611

21.3.4总结620

21.4相关模块620

21.5练习621

第22章 扩展Python623

22.1引言/动机624

22.1.1什么是扩展624

22.1.2为什么要扩展Python624

22.2创建Python扩展625

22.2.1创建您的应用程序代码625

22.2.2用样板来包装你的代码627

22.2.3编译630

22.2.4导入和测试632

22.2.5引用计数633

22.2.6线程和全局解释器锁(GIL)635

22.3相关话题636

22.4练习637

第23章 其他话题638

23.1Web服务639

23.2用Win32的COM来操作微软Office641

23.2.1客户端COM编程641

23.2.2微软Excel642

23.2.3微软Word644

23.2.4微软PowerPoint645

23.2.5微软Outlook646

23.2.6中等规模的例子648

23.3用Jython写Python和Java的程序650

23.3.1什么是Python650

23.3.2Swing GUI开发(Java或者Python!)651

23.4练习653

热门推荐