Python中文网

这本Python核心编程(第2版) [Core PYTHON Programming]图书,是2008-07-01月由人民邮电出版社所出版的,著作者信息: [美] 丘恩(Chun W.J.) 著,宋吉广 译,本版是第1次印刷, ISBN:9787115178503,品牌:异步图书, 这本书的包装是16开平装,所用纸张为胶版纸,全书页数654,字数有131万17000字, 是本值得推荐的Python软件开发图书。

此书内容摘要

《Python核心编程(第2版)》是经典的Python指导书,在上一版的基础上进行了全面升级。全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容,包括基本的概念和语句、语法和风格、Python对象、数字类型、序列类型、映射和集合类型、条件和循环、文件和输入/输出、错误和异常、函数和函数式编程、模块、面向对象编程、执行环境等内容:第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python和一些其他材料。《Python核心编程(第2版)》适合Python初学者,以及已经入门但想继续学习和提高自身Python技巧的程序员。

关于此书作者

暂无.

编辑们的推荐

初学Python这是一本有关Python开发的指南

涵盖近期发布的Pyttlon版本的核心功能特性,而不仅仅是语法
学习更多的高阶内容,如正则表达式、网络、多线程、图形用户界面、Web/CGl和Python扩展等
包括几个全新的章节,关于数据库、网络客户端、Java/Jytt30n和Microsoft Office等
展示数以百计的代码片段、交互实例和大量加强您的Python技能的实用练习
“对Wesley Chun《Python核心编程》第二版的漫长等待是值得的——它的深邃、它的全面,以及它实用的练习将会帮助读者学会并掌握杰出的Pythorl技能。”
——Alex Martelli,Python om a Nutshell一书作者和Python Cookbook一书编辑
“终于,一本杰出的融教材和参考书于一身的Python书籍诞生了。”
——Michael Baxter,Linux Journal
学习专业的Python风格、实践和好的编程习惯;
加强对Python对象、内存模型和Python面向对象特性的深入理解;
构建更有效的Web、CGI、互联网、网络和其他客户端/服务器架构应用程序及软件;
学习如何使用Python中的Tkinler和其他工具来开发自己的GUI应用程序及软件:
通过用C等语言编写扩展来提升Python应用程序的性能,或者通过使用多线程增强I/O相关的应用程序的能力;
学习Python中有关数据库的API,以及如何在Python中使用各种不同的数据库系统,包括MySQL、Postgres和SQLite。
本书提供:
对Python核心特性系统的专家级讲解;
开发复杂的应用程序和软件所需的强大深入的视角:
易用的图表,详细描述了Python模块、操作符、函数和方法:
大量的专业级实例代码,从小的代码片段到功能齐全的应用程序一应俱全。

Python核心编程(第2版) [Core PYTHON Programming]图书的目录

第1部分Python核心
第1章欢迎来到Python世界
1.1什么是Python
1.2起源
1.3特点
1.3.1高级
1.3.2面向对象
1.3.3可升级
1.3.4可扩展
1.3.5可移植性
1.3.6易学
1.3.7易读
1.3.8易维护
1.3.9健壮性
1.3.10高效的快速原型开发工具
1.3.11内存管理器
1.3.12解释性和(字节)编译性
1.4下载和安装Python
1.5运行Python
1.5.1命令行上的交互式解释器
1.5.2从命令行启动脚本
1.5.3集成开发环境
1.5.4其他的集成开发环境和执行环境
1.6Python文档
1.7比较Python(Python与其他语言的比较)
1.8其他实现
1.9练习

第2章快速入门
2.1程序输出,print语句及"Hello World!"
2.2程序输入和raw_input()内建函数
2.3注释
2.4操作符
2.5变量和赋值
2.6数字
2.7字符串
2.8列表和元组
2.9字典
2.10代码块及缩进对齐
2.11if语句
2.12while循环
2.13for循环和range()内建函数
2.14列表解析
2.15文件和内建函数open()、file()
2.16错误和异常
2.17函数
2.17.1如何定义函数
2.17.2如何调用函数
2.17.3默认参数
2.18类
2.19模块
2.19.1如何导入模块
2.19.2如何访问一个模块函数或访问一个模块变量
2.20实用的函数
2.21练习

第3章Python基础
3.1语句和语法
3.1.1注释(#)
3.1.2继续(\)
3.1.3多个语句构成代码组(:)
3.1.4代码组由不同的缩进分隔
3.1.5同一行书写多个语句(;)
3.1.6模块
3.2变量赋值
3.2.1赋值操作符
3.2.2增量赋值
3.2.3多重赋值
3.2.4"多元"赋值
3.3标识符
3.3.1合法的Python标识符
3.3.2关键字
3.3.3内建
3.3.4专用下划线标识符
3.4基本风格指南
3.4.1模块结构和布局
3.4.2在主程序中书写测试代码
3.5内存管理
3.5.1变量定义
3.5.2动态类型
3.5.3内存分配
3.5.4引用计数
3.5.5垃圾收集
3.6第一个Python程序
3.7相关模块和开发工具
3.8练习

第4章Python对象
4.1Python 对象
4.2标准类型
4.3其他内建类型
4.3.1类型对象和type类型对象
4.3.2暂无.--Python的Null对象
4.4内部类型
4.4.1代码对象
4.4.2帧对象
4.4.3跟踪记录对象
4.4.4切片对象
4.4.5省略对象
4.4.6XRange 对象
4.5标准类型操作符
4.5.1对象值的比较
4.5.2对象身份比较
4.5.3布尔类型
4.6标准类型内建函数
4.6.1type()
4.6.2cmp()
4.6.3str()和repr()(及``操作符)
4.6.4type()和isinstance()
4.6.5Python类型操作符和内建函数总结
4.7类型工厂函数
4.8标准类型的分类
4.8.1存储模型
4.8.2更新模型
4.8.3访问模型
4.9不支持的类型
4.10练习

第5章数字
5.1数字简介
5.1.1如何创建数值对象并用其赋值(数字对象)
5.1.2如何更新数字对象
5.1.3如何删除数字对象
5.2整型
5.2.1布尔型
5.2.2标准整型
5.2.3长整型
5.2.4整型和长整型的统一
5.3双精度浮点型
5.4复数
5.5操作符
5.5.1混合模式操作符
5.5.2标准类型操作符
5.5.3算术操作符
5.5.4*位操作符(只适用于整型)
5.6内建函数与工厂函数
5.6.1标准类型函数
5.6.2数字类型函数
5.6.3仅用于整型的函数
5.7其他数字类型
5.7.1布尔"数"
5.7.2十进制浮点型
5.8相关模块
5.9练习

第6章序列:字符串、列表和元组
6.1序列
6.1.1标准类型操作符
6.1.2序列类型操作符
6.1.3内建函数(BIF)
6.2字符串
6.3字符串和操作符
6.3.1标准类型操作符
6.3.2序列操作符切片([]和[:])
6.4只适用于字符串的操作符
6.4.1格式化操作符(%)
6.4.2字符串模板: 更简单的替代品
6.4.3原始字符串操作符(r/R)
6.4.4Unicode字符串操作符(u/U)
6.5内建函数
6.5.1标准类型函数
6.5.2序列类型函数
6.5.3字符串类型函数
6.6字符串内建函数
6.7字符串的独特特性
6.7.1特殊字符串和控制字符
6.7.2三引号
6.7.3字符串不变性
6.8Unicode
6.8.1术语
6.8.2什么是Unicode
6.8.3怎样使用Unicode
6.8.4Codec是什么
6.8.5编码解码
6.8.6把Unicode应用到实际应用中
6.8.7从现实中得来的教训
6.8.8Python的Unicode支持
6.9相关模块
6.10字符串关键点总结
6.11列表
6.12操作符
6.12.1标准类型操作符
6.12.2序列类型操作符
6.12.3列表类型操作符和列表解析
6.13内建函数
6.13.1标准类型函数
6.13.2序列类型函数
6.13.3列表类型内建函数
6.14列表类型的内建函数
6.15列表的特殊特性
6.16元组
6.17元组操作符和内建函数
6.17.1标准类型操作符、序列类型操作符和内建函数
6.17.2元组类型操作符和内建函数、内建方法
6.18元组的特殊特性
6.18.1不可变性给元组带来了什么影响
6.18.2元组也不是那么"不可变"
6.18.3默认集合类型
6.18.4单元素元组
6.18.5字典的关键字
6.19相关模块
6.20*拷贝Python对象、浅拷贝和深拷贝
6.21序列类型小结
6.22练习

第7章映像和集合类型
7.1映射类型:字典
7.1.1如何创建字典和给字典赋值
7.1.2如何访问字典中的值
7.1.3如何更新字典
7.1.4如何删除字典元素和字典
7.2映射类型操作符
7.2.1标准类型操作符
7.2.2映射类型操作符
7.3映射类型的内建函数和工厂函数
7.3.1标准类型函数[type()、str()和cmp()]
7.3.2映射类型相关的函数
7.4映射类型内建方法
7.5字典的键
7.5.1不允许一个键对应多个值
7.5.2键必须是可哈希的
7.6集合类型
7.6.1如何创建集合类型和给集合赋值
7.6.2如何访问集合中的值
7.6.3如何更新集合
7.6.4如何删除集合中的成员和集合
7.7集合类型操作符
7.7.1标准类型操作符(所有的集合类型)
7.7.2集合类型操作符(所有的集合类型)
7.7.3集合类型操作符(仅适用于可变集合)
7.8内建函数
7.8.1标准类型函数
7.8.2集合类型工厂函数
7.9集合类型内建方法
7.9.1方法(所有的集合方法)
7.9.2方法(仅适用于可变集合)
7.9.3操作符和内建方法比较
7.10集合类型总结表
7.11相关模块
7.12练习

第8章条件和循环
8.1if语句
8.1.1多重条件表达式
8.1.2单一语句的代码块
8.2else语句
8.3elif(即else-if)语句
8.4条件表达式(即"三元操作符")
8.5while语句
8.5.1一般语法
8.5.2计数循环
8.5.3无限循环
8.6for语句
8.6.1一般语法
8.6.2用于序列类型
8.6.3用于迭代器类型
8.6.4range()内建函数
8.6.5xrange() 内建函数
8.6.6与序列相关的内建函数
8.7break语句
8.8continue语句
8.9pass语句
8.10再谈else语句
8.11迭代器和iter()函数
8.11.1什么是迭代器
8.11.2为什么要迭代器
8.11.3如何迭代
8.11.4使用迭代器
8.11.5可变对象和迭代器
8.11.6如何创建迭代器
8.12列表解析
8.13生成器表达式
8.14相关模块
8.15练习

第9章文件和输入输出
9.1文件对象
9.2文件内建函数(open()和file())
9.2.1工厂函数file()
9.2.2通用换行符支持(UNS)
9.3文件内建方法
9.3.1输入
9.3.2输出
9.3.3文件内移动
9.3.4文件迭代
9.3.5其他
9.3.6文件方法杂项
9.4文件内建属性
9.5标准文件
9.6命令行参数
9.7文件系统
9.8文件执行
9.9永久存储模块
9.9.1pickle和marshal模块
9.9.2DBM风格的模块
9.9.3shelve模块
9.10相关模块
9.11练习

第10章错误和异常
10.1什么是异常
10.1.1错误
10.1.2异常
10.2Python 中的异常
10.3检测和处理异常
10.3.1try-except语句
10.3.2包装内建函数
10.3.3带有多个except的try语句
10.3.4处理多个异常的except语句
10.3.5捕获所有异常
10.3.6"异常参数"
10.3.7在应用使用我们封装的函数
10.3.8else子句
10.3.9finally子句
10.3.10try-finally语句
10.3.11try-except-else-finally:厨房一锅端
10.4上下文管理
10.4.1with语句
10.4.2*上下文管理协议
10.5*字符串作为异常
10.6触发异常
10.7断言
10.8标准异常
10.9*创建异常
10.10(现在)为什么用异常
10.11到底为什么要异常
10.12异常和sys模块
10.13相关模块
10.14练习

第11章函数和函数式编程
11.1什么是函数?
11.1.1函数vs过程
11.1.2返回值与函数类型
11.2调用函数
11.2.1函数操作符
11.2.2关键字参数
11.2.3默认参数
11.2.4参数组
11.3创建函数
11.3.1def语句
11.3.2声明与定义比较
11.3.3前向引用
11.3.4函数属性
11.3.5内部/内嵌函数
11.3.6*函数(与方法)装饰器
11.4传递函数
11.5Formal Arguments
11.5.1位置参数
11.5.2默认参数
11.6可变长度的参数
11.6.1非关键字可变长参数(元组)
11.6.2关键字变量参数(字典)
11.6.3调用带有可变长参数对象函数
11.7函数式编程
11.7.1匿名函数与lambda
11.7.2内建函数apply()、filter()、map()、reduce()
11.7.3偏函数应用
11.8变量作用域
11.8.1全局变量与局部变量
11.8.2globa语句
11.8.3作用域的数字
11.8.4闭包
11.8.5作用域和lambda
11.8.6变量作用域和名称空间
11.9*递归
11.10生成器
11.10.1简单的生成器特性
11.10.2加强的生成器特性
11.11练习

第12章模块
12.1什么是模块
12.2模块和文件
12.2.1模块名称空间
12.2.2搜索路径和路径搜索
12.3名称空间
12.3.1名称空间与变量作用域比较
12.3.2名称查找、确定作用域、覆盖
12.3.3无限制的名称空间
12.4导入模块
12.4.1import语句
12.4.2from-import语句
12.4.3多行导入
12.4.4扩展的import语句(as)
12.5模块导入的特性
12.5.1载入时执行模块
12.5.2导入(import)和加载(load)
12.5.3导入到当前名称空间的名称
12.5.4被导入到导入者作用域的名字
12.5.5关于__future__
12.5.6警告框架
12.5.7从ZIP文件中导入模块
12.5.8"新的"导入钩子
12.6模块内建函数
12.6.1__import__()
12.6.2globals()和locals()
12.6.3reload()
12.7包
12.7.1目录结构
12.7.2使用from-import导入包
12.8模块的其他特性
12.8.1自动载入的模块
12.8.2阻止属性导入
12.8.3不区分大小的导入
12.8.4源代码编码
12.8.5导入循环
12.8.6模块执行
12.9相关模块
12.10练习

第13章面向对象编程
13.1引言
13.2面向对象编程
13.2.1面向对象设计与面向对象编程的关系
13.2.2现实中的问题
13.2.3*常用术语
13.3类
13.3.1创建类
13.3.2声明与定义
13.4类属性
13.4.1类的数据属性
13.4.2Methods
13.4.3决定类的属性
13.4.4特殊的类属性
13.5实例
13.5.1初始化:通过调用类对象来创建实例
13.5.2__init__()"构造器"方法
13.5.3__new__()"构造器"方法
13.5.4__del__()"解构器"方法
13.6实例属性
13.6.1"实例化"实例属性(或创建一个更好的构造器)
13.6.2查看实例属性
13.6.3特殊的实例属性
13.6.4建类型属性
13.6.5实例属性vs类属性
13.7绑定和方法调用
13.7.1调用绑定方法
13.7.2调用非绑定方法
13.8静态方法和类方法
13.8.1staticmethod()和classmethod()内建函数
13.8.2使用函数修饰符
13.9组合
13.10子类和派生
13.11继承
13.11.1__bases__类属性
13.11.2通过继承覆盖方法
13.11.3从标准类型派生
13.11.4多重继承
13.12类、实例和其他对象的内建函数
13.12.1issubclass()
13.12.2isinstance()
13.12.3hasattr()、getattr()、setattr()、delattr()
13.12.4dir()
13.12.5super()
13.12.6vars()
13.13用特殊方法定制类
13.13.1简单定制(RoundFloat2)
13.13.2数值定制(Time60)
13.13.3迭代器(RandSeq和AnyIter)
13.13.4*多类型定制(NumStr)
13.14私有化
13.15*授权
13.15.1包装
13.15.2实现授权
13.16新式类的高级特性(Python 2.2+)
13.16.1新式类的通用特性
13.16.2__slots__类属性
13.16.3__getattribute__()特殊方法
13.16.4描述符
13.16.5元类和__metaclass__
13.17相关模块和文档
13.18练习

第14章执行环境
14.1可调用对象
14.1.1函数
14.1.2方法
14.1.3类
14.1.4类的实例
14.2代码对象
14.3可执行的对象声明和内建函数
14.3.1callable()
14.3.2compile()
14.3.3eval()
14.3.4exec
14.3.5input()
14.3.6使用Python在运行时生成和执行Python代码
14.4执行其他(Python)程序
14.4.1导入
14.4.2execfile()
14.4.3将模块作为脚本执行
14.5执行其他(非Python)程序
14.5.1os.system()
14.5.2os.popen()
14.5.3os.fork()、os.exec*()、os.wait*()
14.5.4os.spawn*()
14.5.5subprocess 模块
14.5.6相关函数
14.6受限执行
14.7结束执行
14.7.1sys.exit() and SystemExit
14.7.2sys.exitfunc()
14.7.3os._exit() 函数
14.7.4os.kill() Function
14.8各种操作系统接口
14.9相关模块
14.10练习

第2部分高级主题
第15章正则表达式
15.1引言/动机
15.2正则表达式使用的特殊符号和字符
15.2.1用管道符号(|)匹配多个正则表达式模式
15.2.2匹配任意一个单个的字符(.)
15.2.3从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B )
15.2.4创建字符类([])
15.2.5指定范围(-)和否定(^)
15.2.6使用闭包操作符(*,+,?,{})实现多次出现/重复匹配
15.2.7特殊字符表示、字符集
15.2.8用圆括号(())组建组
15.3正则表达式和Python语言
15.3.1re模块:核心函数和方法
15.3.2使用compile()编译正则表达式
15.3.3匹配对象和group()、groups()方法
15.3.4用match()匹配字符串
15.3.5search()在一个字符串中查找一个模式(搜索与匹配的比较)
15.3.6匹配多个字符串(|)
15.3.7匹配任意单个字符(.)
15.3.8创建字符集合([])
15.3.9重复、特殊字符和子组
15.3.10从字符串的开头或结尾匹配及在单词边界上的匹配
15.3.11用findall()找到每个出现的匹配部分
15.3.12用sub()(和subn())进行搜索和替换
15.3.13用split()分割(分隔模式)
15.4正则表达式示例
15.4.1匹配一个字符串
15.4.2搜索与匹配的比较,"贪婪"匹配
15.5练习

第16章网络编程
16.1引言
16.1.1什么是客户端/服务器架构
16.1.2客户端/服务器网络编程
16.2套接字:通信端点
16.2.1什么是套接字
16.2.2套接字地址:主机与端口
16.2.3面向连接与无连接
16.3Python中的网络编程
16.3.1socket()模块函数
16.3.2套接字对象(内建)方法
16.3.3创建一个TCP服务器
16.3.4创建TCP客户端
16.3.5运行我们的客户端与TCP服务器
16.3.6创建一个UDP服务器
16.3.7创建一个UDP客户端
16.3.8执行UDP服务器和客户端
16.3.9Socket模块属性
16.4*SocketServer模块
16.4.1创建一个SocketServerTCP服务器
16.4.2创建SocketServerTCP客户端
16.4.3执行TCP服务器和客户端
16.5Twisted框架介绍
16.5.1创建一个Twisted Reactor TCP服务器
16.5.2创建一个Twisted Reactor TCP客户端
16.5.3执行TCP服务器和客户端
16.6相关模块
16.7练习

第17章网络客户端编程
17.1什么是因特网客户端
17.2文件传输
17.2.1文件传输网际协议
17.2.2文件传输协议(FTP)
17.2.3Python和FTP
17.2.4ftplib.FTP类方法
17.2.5交互式FTP示例
17.2.6客户端FTP程序举例
17.2.7FTP的其他方面
17.3网络新闻
17.3.1Usenet与新闻组
17.3.2网络新闻传输协议(NNTP)
17.3.3Python和NNTP
17.3.4nntplib.NNTP类方法
17.3.5交互式NNTP举例
17.3.6客户端程序NNTP举例
17.3.7NNTP的其他方面
17.4电子邮件
17.4.1电子邮件系统组件和协议
17.4.2发送电子邮件
17.4.3Python和SMTP
17.4.4smtplib.SMTP类方法
17.4.5交互式SMTP示例
17.4.6SMTP的其他方面
17.4.7接收电子邮件
17.4.8POP和IMAP
17.4.9Python和POP3
17.4.10交互式POP3举例
17.4.11poplib.POP3类方法
17.4.12客户端程序SMTP和POP3举例
17.5相关模块
17.5.1电子邮件
17.5.2其他网络协议
17.6练习

第18章多线程编程
18.1引言/动机
18.2线程和进程
18.2.1什么是进程
18.2.2什么是线程
18.3Python、线程和全局解释器锁
18.3.1全局解释器锁(GIL)
18.3.2退出线程
18.3.3在Python中使用线程
18.3.4没有线程支持的情况
18.3.5Python的threading模块
18.4thread模块
18.5threading模块
18.5.1Thread类
18.5.2斐波那契、阶乘和累加和
18.5.3threading模块中的其他函数
18.5.4生产者-消费者问题和Queue模块
18.6相关模块
18.7练习

第19章图形用户界面编程
19.1简介
19.1.1什么是Tcl、Tk和Tkinter
19.1.2安装和使用Tkinter
19.1.3客户端/服务器架构
19.2Tkinter与Python编程
19.2.1Tkinter模块:把Tk引入你的程序
19.2.2GUI程序开发简介
19.2.3顶层窗口:Tkinter.Tk()
19.2.4Tk组件
19.3Tkinter举例
19.3.1标签组件
19.3.2按钮组件
19.3.3标签和按钮组件
19.3.4标签、按钮和进度条组件
19.3.5偏函数应用举例
19.3.6中级Tkinter范例
19.4其他GUI简介
19.4.1Tk Interface eXtensions (Tix)
19.4.2Python MegaWidgets (PMW)
19.4.3wxWidgets和wxPython
19.4.4GTK+和PyGTK
19.5相关模块和其他GUI
19.6练习

第20章Web编程
20.1介绍
20.1.1Web应用:客户端/服务器计算
20.1.2因特网
20.2使用Python进行Web应用:创建一个简单的Web客户端
20.2.1统一资源定位符
20.2.2urlparse模块
20.2.3urllib模块
20.2.4urllib2模块
20.3高级Web客户端
20.4CGI:帮助Web服务器处理客户端数据
20.4.1CGI介绍
20.4.2CGI应用程序
20.4.3cgi模块
20.5建立CGI应用程序
20.5.1建立Web服务器
20.5.2建立表单页
20.5.3生成结果页
20.5.4生成表单和结果页面
20.5.5全面交互的Web站点
20.6在CGI中使用Unicode编码
20.7高级CGI
20.7.1Mulitipart表单提交和文件的上传
20.7.2多值字段
20.7.3cookie
20.7.4使用高级CGI
20.8Web(HTTP)服务器
20.9相关模块
20.10练习

第21章数据库编程
21.1介绍
21.1.1持久存储
21.1.2基本的数据库操作和SQL语言
21.1.3数据库和Python
21.2Python数据库应用程序程序员接口(DB-API)
21.2.1模块属性
21.2.2连接对象
21.2.3游标对象
21.2.4类型对象和构造器
21.2.5关系数据库
21.2.6数据库和Python:接口程序
21.2.7使用数据库接口程序举例
21.3对象-关系管理器(ORM)
21.3.1考虑对象,而不是SQL
21.3.2Python和ORM
21.3.3雇员数据库举例
21.3.4总结
21.4相关模块
21.5练习

第22章扩展Python
22.1引言/动机
22.1.1什么是扩展
22.1.2为什么要扩展Python
22.2创建Python扩展
22.2.1创建您的应用程序代码
22.2.2用样板来包装你的代码
22.2.3编译
22.2.4导入和测试
22.2.5引用计数
22.2.6线程和全局解释器锁(GIL)
22.3相关话题
22.4练习

第23章其他话题
23.1Web服务
23.2用Win32的COM来操作微软Office
23.2.1客户端COM编程
23.2.2 微软Excel
23.2.3微软Word
23.2.4微软PowerPoint
23.2.5微软Outlook
23.2.6中等规模的例子
23.3用Jython写Python和Java的程序
23.3.1什么是Jython
23.3.2Swing GUI开发(Java或者Python!)
23.4练习

部分内容试读

暂无.

关于此书评价

暂无.

书摘内容

第1部分Python核心
第1章欢迎来到Python世界
开篇将介绍一些Python的背景知识,包括什么是Python、Python的起源和它的一些关键特性。一旦你来了兴致,我们就会向你介绍怎样获得Python,以及如何在你的系统上安装并运行它。本章最后的练习将会帮助你非常自如地使用Python,包括使用交互式解释器,以及创建并运行脚本程序。
1.1什么是Python
Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。它可以帮你完成工作,而且一段时问以后,你还能看明白自己写的这段代码。你会对自己如此快地学会它和它强大的功能感到十分的惊讶,更不用提你已经完成的工作了!只有你想不到,没有Python做不到。
1.2起源
Guido van Rossum于1989年底始创了Python,那时,他还在荷兰的CWI(Centrum voor Wiskunde en Informatica,国家数学和计算机科学研究院)。1991年初,Python发布了第一个公开发行版。这一切究竟是如何开始的呢?像C、C++、Lisp、.Java和Perl一样,Python来自于某个研究项目,项目中的那些程序员利用手边现有的工具辛苦地工作着,他们设想并开发出了更好的解决办法。
那时van Rossum是一位研究人员,对解释型语言ABC有着丰富的设计‘经验,这个语言同样也是在CWI开发的。但是他不满足其有限的开发能力。已经使用并参与开发了像ABC这样的高级语言后,再退回到C语言显然是不可能的。他所期望的工具有一些是用于完成日常系统管理任务的,而且它还希望能够访问Amoeba分布式操作系统的系统调用。尽管vanRossum也曾想过为Amoeba开发专用语言,但足创造一种通用的程序设计语言显然更加明智,于是在1989年末,Python的种子被播下了。
1.3特点
尽管Python已经流行了超过15年,但是一些人仍旧认为相对于通用软件开发产业而言,它还是个新丁。我们应当谨慎地使用“相对”这个词,因为“网络时代”的程序开发,几年看上去就像几十年。
当人们询问:“什么是Python?”的时候,很难用任何一个具象来描述它。人们更倾向于一口气不加思索地说出他们对Python的所有感觉,Python是一(请填写),这些特点究竟又是什么呢?为了让你能知其所以然,我们下面会对这些特点进行逐一地阐释。
1.3.1高级
伴随着每一代编程语言的产生,我们会达到一个新的高度。汇编语言是献给那些挣扎在机器代码中的人的礼物,后来有了FORTRAN、c和Pascal语言,它们将计算提升到了崭新的高度,并且开创了软件开发行业。伴随着C语言诞生了更多的像c斗_卜、Java这样的现代编译语言。我们没有止步于此,于是有了强大的、可以进行系统调用的解释型脚本语言,例如Tcl、Perl和Python。
这些语言都有高级的数据结构,这样就减少了以前“框架”开发需要的时间。像Python中的列表(大小可变的数组)和字典(哈希表)就是内建于语言本身的。在核心语言中提供这些重要的构建单元,可以鼓励人们使用它们,缩短开发时间与代码量,产生出可读性更好的代码。
在C语言中,对于混杂数组(Python中的列表)和哈希表(Python中的字典)还没有相应的标准库,所以它们经常被重复实现,并被复制到每个新项目中去。这个过程混乱而且容易产生错误。

……

Python核心编程(第2版) [Core PYTHON Programming]最新最全的试读、书评、目录、简介信息由Python中文网整理提供。