《Python开发技术详解》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:周伟等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111270157
  • 页数:532 页
图书介绍:本书介绍了利用Python语言进行程序开发的知识和技巧,包括Python的安装后环境配置、Python的基本语法、模块和函数、内置数据结构、字符串和文件的处理、正则表达式的使用等。

第一篇 Python语言基础知识第1章 Python概述 1

1.1 Python简介 1

1.2 Python的特征 2

1.3 第一个Python程序 4

1.4 搭建开发环境 5

1.4.1 Python的下载和安装 5

1.4.2 交互式命令行的使用方法 5

1.5 Python的开发工具 6

1.5.1 PythonWin的使用方法 6

1.5.2 Eclipse IDE集成开发环境 7

1.5.3 EditPlus编辑器环境的配置 7

1.6 不同平台下的Python 9

1.7 小结 9

第2章 Python的基本语法 10

2.1 Python的文件类型 10

2.2 Python的编码规则 11

2.2.1 命名规则 11

2.2.2 代码缩进与冒号 13

2.2.3 模块导入的规范 15

2.2.4 使用空行分隔代码 16

2.2.5 正确的注释 16

2.2.6 语句的分隔 19

2.3 变量和常量 20

2.3.1 变量的命名 20

2.3.2 变量的赋值 21

2.3.3 局部变量 22

2.3.4 全局变量 23

2.3.5 常量 25

2.4 数据类型 25

2.4.1 数字类型 25

2.4.2 字符串类型 27

2.5 运算符与表达式 28

2.5.1 算术运算符和算术表达式 28

2.5.2 关系运算符和关系表达式 30

2.5.3 逻辑运算符和逻辑表达式 31

2.5.4 运算符的优先级 31

2.6 小结 32

第3章 Python的控制语句 33

3.1 结构化程序设计 33

3.2 条件语句 34

3.2.1 if语句 34

3.2.2 if... elif... else语句 35

3.2.3 if语句的嵌套 36

3.2.4 实现switch语句的功能 37

3.3 循环语句 39

3.3.1 while循环 39

3.3.2 for循环 40

3.3.3 break和continue语句 42

3.4 结构化程序示例 43

3.5 小结 45

第4章 内置数据结构 46

4.1 元组 46

4.1.1 元组的创建 46

4.1.2 元组的访问 47

4.1.3 元组的遍历 49

4.2 列表 50

4.2.1 列表的创建 50

4.2.2 列表的使用方法 52

4.2.3 列表的查找、排序与反转 53

4.2.4 用列表实现堆栈和队列 54

4.3 字典 55

4.3.1 字典的创建 55

4.3.2 字典的访问 56

4.3.3 字典的方法 59

4.3.4 字典的排序与复制 62

4.3.5 全局字典——sys.modules模块 63

4.4 序列 64

4.5 小结 66

第5章 模块与函数 67

5.1 Python程序的结构 67

5.2 模块 67

5.2.1 模块的创建 68

5.2.2 模块的导入 68

5.2.3 模块的属性 69

5.2.4 模块的内置函数 70

5.2.5 自定义包 73

5.3 函数 75

5.3.1 函数的定义 75

5.3.2 函数的参数 76

5.3.3 函数的返回值 78

5.3.4 函数的嵌套 80

5.3.5 递归函数 82

5.3.6 lambda函数 84

5.3.7 Generator函数 85

5.4 小结 86

第6章 字符串与正则表达式 87

6.1 字符串的操作 87

6.1.1 字符串的格式化 87

6.1.2 字符串的转义符 89

6.1.3 字符串的合并 90

6.1.4 字符串的截取 91

6.1.5 字符串的比较 92

6.1.6 字符串的反转 94

6.1.7 字符串的查找和替换 95

6.1.8 字符串与日期的转换 96

6.2 正则表达式 97

6.2.1 正则表达式简介 97

6.2.2 使用sys.re模块处理正则表达式 100

6.3 小结 104

第7章 文件的处理 105

7.1 文件的基本操作 105

7.1.1 文件的打开或创建 105

7.1.2 文件的读取 107

7.1.3 文件的写入 109

7.1.4 文件的删除 109

7.1.5 文件的复制 111

7.1.6 文件的重命名 111

7.1.7 文件内容的查找和替换 113

7.1.8 文件的比较 114

7.1.9 配置文件的访问 115

7.2 目录的基本操作 117

7.2.1 目录的创建与删除 117

7.2.2 目录的遍历 118

7.3 文件和流 121

7.3.1 Python的流对象 121

7.3.2 模拟Java的输入、输出流 122

7.4 文件处理示例——文件属性浏览程序 123

7.5 小结 124

第8章 面向对象编程 126

8.1 面向对象编程概述 126

8.2 类和对象 127

8.2.1 类和对象的区别 127

8.2.2 类的定义 127

8.2.3 对象的创建 128

8.2.4 Python对象的体系结构 128

8.3 属性和方法 129

8.3.1 类的属性 129

8.3.2 类的方法 131

8.3.3 内部类的使用 132

8.3.4 _init_方法 133

8.3.5 _del_方法 134

8.3.6 垃圾回收机制 135

8.3.7 类的内置方法 136

8.3.8 方法的动态特性 139

8.4 继承 140

8.4.1 使用继承 141

8.4.2 抽象类的模拟 143

8.4.3 多态性 144

8.4.4 多重继承 145

8.4.5 更好的继承方式 146

8.5 运算符的重载 148

8.6 Python与设计模式 149

8.6.1 设计模式简介 149

8.6.2 设计模式示例——Python实现工厂方法 150

8.7 小结 151

第9章 异常处理与程序调试 152

9.1 异常的处理 152

9.1.1 Python中的异常 152

9.1.2 try…except的使用方法 153

9.1.3 try…finally的使用方法 155

9.1.4 使用raise抛出异常 155

9.1.5 自定义异常 156

9.1.6 assert语句的使用方法 157

9.1.7 异常信息 157

9.2 使用PythonWin调试程序 158

9.3 使用Eclipse for Python调试程序 160

9.3.1 新建工程 160

9.3.2 配置调试 161

9.3.3 设置断点 163

9.4 小结 164

第10章 Python的数据库编程 165

10.1 Python环境下的数据库编程 165

10.1.1 通过ODBC访问数据库 165

10.1.2 使用DAO对象访问数据库 167

10.1.3 使用ActiveX Data Object访问数据库 168

10.1.4 Python连接数据库的专用模块 170

10.2 Python的持久化模块 172

10.2.1 用dbhash模块读写数据 172

10.2.2 shelve模块读写数据 173

10.3 嵌入式数据库SQLite 174

10.3.1 sqlite的命令行工具 174

10.3.2 使用sqlite3模块访问sqlite数据库 175

10.4 小结 177

第二篇 Python的GUI程序设计第11章 WxPython的开发环境 179

11.1 Python所支持的GUI开发库 179

11.1.1 Tkinter 179

11.1.2 PyGTK 182

11.1.3 PyQT 185

11.2 WxPython介绍 186

11.2.1 下载和安装WxPython 187

11.2.2 第一个WxPython程序 187

11.2.3 WxPython的封装:Pythoncard 188

11.3 WxPython的开发工具 189

11.3.1 使用wxGlade开发WxPython程序 190

11.3.2 使用wxFormBuilder开发WxPython程序 190

11.3.3 使用Boa-constructor开发WxPython程序 191

11.4 小结 191

第12章 WxPython框架初步 192

12.1 WxPython的程序结构 192

12.1.1 WxPython应用程序的组成 192

12.1.2 WxPython窗口的组成 194

12.1.3 WxPython应用程序的运行过程 196

12.2 WxPython中的事件驱动编程 197

12.2.1 事件驱动的编程模型 197

12.2.2 事件的触发 197

12.2.3 事件的绑定和处理 199

12.3 WxPython的常用组件 201

12.3.1 对话框 201

12.3.2 工具栏 201

12.3.3 状态栏 202

12.4 小结 203

第13章 WxPython库中的基本组件 204

13.1 静态文本框 204

13.2 文本框 206

13.2.1 单行文本框 206

13.2.2 多行文本框 208

13.3 按钮控件 209

13.3.1 普通按钮 209

13.3.2 位图按钮 210

13.4 单选框 210

13.4.1 单选框的选择 210

13.4.2 单选框的分组 212

13.5 多选框 212

13.5.1 多选框 213

13.5.2 多选框事件 213

13.6 列表控件 215

13.6.1 列表框 215

13.6.2 下拉列表 216

13.6.3 可编辑的下拉列表 217

13.7 使用Sizers布局组件 218

13.7.1 Sizers布局管理器 218

13.7.2 Grid Sizer布局 218

13.7.3 Flex Grid Sizer布局 219

13.7.4 Grid Bag sizer布局 220

13.7.5 Box Sizer布局 221

13.8 小结 221

第14章 WxPython库中的菜单、窗口与对话框控件 222

14.1 菜单 222

14.1.1 创建菜单 222

14.1.2 菜单的事件 224

14.1.3 多级菜单 225

14.1.4 菜单的快捷键 226

14.1.5 位图菜单 227

14.1.6 上下文菜单 228

14.2 窗口 229

14.2.1 Frame窗口 229

14.2.2 带工具栏和状态栏的Frame窗口 230

14.2.3 MDI窗口 231

14.2.4 MiniFrame窗口 232

14.3 对话框 232

14.3.1 对话框的创建 233

14.3.2 提示对话框 234

14.3.3 文本输入对话框 235

14.3.4 特殊对话框 236

14.3.5 窗口与对话框的交互 236

14.4 小结 238

第15章 WxPython库中的高级控件 239

15.1 表格控件 239

15.1.1 表格控件的创建 239

15.1.2 通过PyGridTable创建表格 240

15.1.3 表格控件的单元格 241

15.1.4 处理单元格的事件 243

15.2 高级列表控件 245

15.2.1 列表控件的创建 245

15.2.2 列表控件的排序 246

15.2.3 带位图的列表控件 247

15.3 树型控件 248

15.3.1 树型控件的创建 248

15.3.2 树型控件的事件 249

15.3.3 树表控件 250

15.4 定时器控件 251

15.5 小结 253

第16章 WxPython库中的高级功能 254

16.1 WxPython下的HTML显示 254

16.1.1 HTML的显示 254

16.1.2 基于HtmlWindow的简单浏览器 256

16.2 WxPython中的XRC 257

16.2.1 使用XRC 257

16.2.2 XRC文件 258

16.3 剪贴板的操作 260

16.3.1 WxPython中的剪贴板对象 260

16.3.2 处理剪贴板对象 260

16.3.3 剪贴板操作实例 261

16.4 小结 262

第三篇 Python的Web开发 263

第17章 Python的HTML应用 263

17.1 HTML介绍 263

17.1.1 HTML的历史 263

17.1.2 SGML、HTML和XHTML三者的关系 264

17.1.3 HTML的标签 264

17.1.4 HTML的框架组成 265

17.2 URL的处理 266

17.2.1 统一资源定位符URL 266

17.2.2 URL的解析 267

17.2.3 URL的拼合 269

17.2.4 URL的分解 270

17.2.5 URL的编码与解码 271

17.2.6 中文的编码与解码 273

17.2.7 查询参数的编码 274

17.3 CGI的使用 276

17.3.1 CGI介绍 276

17.3.2 获取CGI环境信息 277

17.3.3 解析用户的输入 280

17.4 获取HTML资源 282

17.4.1 使用urlopen和urlretrieve获取HTTP资源 282

17.4.2 分析返回资源的相关信息 287

17.4.3 自定义获取资源方式 288

17.4.4 使用urllib2模块获取资源 291

17.4.5 使用httplib模块获取资源 293

17.5 HTML文档的解析 295

17.5.1 使用HTMLParser模块 295

17.5.2 sgmllib的HTML文档处理 297

17.5.3 HTML文档元素的处理 297

17.5.4 使用htmllib处理HTML文档 299

17.6 小结 302

第18章 Python和XML 303

18.1 XML介绍 303

18.1.1 XML的演进历史 303

18.1.2 XML的优点和限制 304

18.1.3 XML技术的Python支持 305

18.2 XML文档概览和验证 305

18.2.1 XML文档的基本概念 306

18.2.2 XML文档的结构良好性验证 306

18.2.3 XML文档的有效性验证 309

18.3 XML文档的结构 311

18.3.1 XML的元素和标签 311

18.3.2 元素的属性 313

18.3.3 XML的文字 315

18.3.4 字符实体 317

18.3.5 CDATA段 318

18.3.6 注释 320

18.3.7 处理指令 320

18.3.8 XML定义 321

18.4 使用SAX处理XML文档 321

18.4.1 SAX介绍 321

18.4.2 SAX处理的组成部分 322

18.5 使用DOM处理XML文档 326

18.5.1 DOM介绍 327

18.5.2 xml.dom模块中的接口操作 328

18.5.3 对XML文档的操作 335

18.6 小结 340

第19章 Python的Web开发——Django框架的应用 341

19.1 常见的Web开发框架 341

19.1.1 Zope 341

19.1.2 TurboGears 342

19.1.3 Django 343

19.1.4 其他的Web开发框架 344

19.1.5 各种开发框架的选择 345

19.2 MVC模式 345

19.2.1 MVC模式介绍 346

19.2.2 MVC模式的优点和缺点 347

19.2.3 Django框架中的MVC 347

19.3 Django开发环境的搭建 348

19.3.1 Django框架的安装 348

19.3.2 数据库的配置 348

19.4 Django框架的应用 349

19.4.1 Web应用的创建 349

19.4.2 Django中的开发服务器 350

19.4.3 创建数据库 352

19.4.4 生成Django应用 353

19.4.5 创建数据模型 354

19.4.6 URL设计 354

19.4.7 创建视图 356

19.4.8 模板系统 357

19.4.9 发布Django项目 358

19.5 Django框架的高级应用 359

19.5.1 管理界面 359

19.5.2 生成数据库数据 361

19.5.3 Session功能 362

19.5.4 国际化 364

19.6 小结 365

第20章 敏捷方法学在Python中的应用——测试驱动开发 366

20.1 测试驱动开发 366

20.1.1 测试驱动开发模式(TDD) 366

20.1.2 TDD的优势 368

20.1.3 TDD的使用步骤 368

20.2 unittest测试框架 369

20.2.1 unittest模块介绍 369

20.2.2 构建测试用例 370

20.2.3 构建测试固件 371

20.2.4 组织多个测试用例 373

20.2.5 构建测试套件 374

20.2.6 重构代码 375

20.2.7 执行测试 376

20.3 使用doctest模块进行测试 380

20.3.1 doctest模块介绍 380

20.3.2 构建可执行文档 380

20.3.3 执行doctest测试 382

20.4 小结 384

第四篇 Python的其他应用 385

第21章 Python中的进程和线程 385

21.1 进程和线程 385

21.1.1 进程和线程的概念 385

21.1.2 Python中对于进程和线程处理的支持 386

21.2 Python下的进程编程 387

21.2.1 进程的运行环境 387

21.2.2 创建进程 388

21.2.3 终止进程 389

21.3 使用subprocess模块管理进程 390

21.3.1 使用Popen类管理进程 390

21.3.2 调用外部系统命令 393

21.3.3 替代其他进程创建函数 393

21.4 进程间的信号机制 393

21.4.1 信号的处理 394

21.4.2 信号的使用规则 396

21.5 多线程概述 396

21.5.1 什么是多线程 397

21.5.2 线程的状态 397

21.5.3 Python中的线程支持 397

21.6 生成和终止线程 398

21.6.1 使用thread模块 398

21.6.2 使用threading.Thread类 400

21.7 管理线程 402

21.7.1 线程状态转移 402

21.7.2 主线程对子线程的控制 403

21.7.3 线程中的局部变量 403

21.8 线程之间的同步 404

21.8.1 临界资源和临界区 404

21.8.2 锁机制 406

21.8.3 条件变量 407

21.8.4 信号量 409

21.8.5 同步队列 410

21.8.6 线程同步小结 411

21.9 小结 412

第22章 基于Python的系统管理 413

22.1 增强的交互式环境IPython 413

22.1.1 IPython介绍 413

22.1.2 IPython的安装 414

22.1.3 IPython的启动 415

22.1.4 IPython的环境配置 416

22.1.5 IPython的退出 416

22.2 和IPython的简单交互 416

22.2.1 IPython中的输入与输出 417

22.2.2 输出提示符的区别 417

22.2.3 输出提示符不同的原因 418

22.2.4 IPython中的In和Out 420

22.3 IPython中的magic函数 420

22.3.1 Magic函数的使用和构造 420

22.3.2 目录管理 422

22.3.3 对象信息的收集 426

22.4 IPython适合于系统管理的特点 428

22.4.1 Tab补全 428

22.4.2 历史记录功能 429

22.4.3 执行外部的系统命令和运行脚本文件 432

22.4.4 对象的查看和自省 435

22.4.5 直接编辑代码 438

22.4.6 设置别名和宏 440

22.5 使用Python进行文件管理 441

22.5.1 文件的比较 441

22.5.2 文件的归档 443

22.5.3 文件的压缩 445

22.6 使用Python定时执行任务 447

22.6.1 使用休眠功能 447

22.6.2 使用sched来定时执行任务 447

22.7 小结 448

第23章 Python和网络编程 449

23.1 网络模型介绍 449

23.1.1 OSI简介 449

23.1.2 TCP/IP简介 450

23.2 Socket应用 451

23.2.1 Socket基础知识 451

23.2.2 Socket的工作方式 451

23.3 服务器端和客户端通信 452

23.3.1 服务器端的构建 452

23.3.2 客户端的构建 456

23.4 异步通信方式 458

23.4.1 使用Fork方式 458

23.4.2 使用线程方式 459

23.4.3 异步IO方式 460

23.4.4 使用asyncore模块 463

23.5 Twisted网络框架 466

23.5.1 认识Twisted框架 466

23.5.2 Twisted框架下服务器端的实现 467

23.5.3 Twisted框架下服务器端的其他处理 468

23.6 小结 470

第24章 常见的Python网络应用 471

24.1 使用FTP传输文件 471

24.1.1 FTP的工作原理和Python库的支持 471

24.1.2 FTP的登录和退出 472

24.1.3 FTP的数据传输 473

24.2 使用POP3获取邮件 474

24.2.1 POP3协议介绍 474

24.2.2 poplib模块的使用方法 475

24.3 使用SMTP发送邮件 477

24.3.1 SMTP协议介绍 477

24.3.2 smtplib模块的使用 478

24.4 使用Telnet协议远程登录 479

24.4.1 Telnet协议介绍和Python库的支持 479

24.4.2 telnetlib模块的使用方法 480

24.5 使用SNMP管理网络 481

24.5.1 SNMP协议的组成 481

24.5.2 PySNMP框架介绍及其使用方法 482

24.6 网络分析 483

24.6.1 网络分析概述 483

24.6.2 使用Scapy在网络中抓包分析 484

24.7 小结 486

第25章 图像处理和游戏开发 487

25.1 图像处理的基本概念 487

25.1.1 Python下的图像处理包 487

25.1.2 PIL支持的图像文件格式 488

25.1.3 图像处理中的其他概念 489

25.2 图像的基本处理 490

25.2.1 图像的读写操作 490

25.2.2 获取图像信息 491

25.2.3 图像文件格式的转换 492

25.2.4 图像的裁剪和合成 494

25.2.5 图像的变换 496

25.3 图像处理的高级应用 498

25.3.1 图像的通道操作 498

25.3.2 图像的增强处理 501

25.3.3 PIL中的内置滤镜 503

25.4 使用PyGame进行游戏开发 504

25.4.1 Python游戏开发包:PyGame 504

25.4.2 创建基本的Pygame窗口 506

25.4.3 事件系统 508

25.5 小结 509

第26章 Python语言的扩展与嵌入 510

26.1 Python语言的扩展 510

26.1.1 Python扩展简介 510

26.1.2 一个C扩展的例子 511

26.1.3 模块方法表和初始化函数 512

26.1.4 编译和测试 513

26.2 Python语言的嵌入 515

26.2.1 Python嵌入简介 515

26.2.2 一个Python嵌入的例子 516

26.2.3 更好的嵌入 517

26.3 小结 519

第27章 Windows下的Python 520

27.1 组件对象模型 520

27.1.1 组件对象模型介绍 520

27.1.2 COM结构 521

27.1.3 COM对象的交互 521

27.2 Python对COM技术的支持 522

27.2.1 Python中的Windows扩展:PyWin32 522

27.2.2 客户端COM组件 523

27.2.3 实现COM组件 524

27.3 Windows下的常见Python应用 528

27.3.1 对Word的自动访问 528

27.3.2 对Excel的自动访问 529

27.3.3 对Powerpoint的自动访问 530

27.3.4 对Outlook的自动访问 532

27.4 小结 532