本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费、可移植、功能强大,而且使用起来相当容易。来自软件产业各个角落的程序员都已经发现,Python对于开发者效率和软件质量的关注,这无论在大项目还是小项目中都是一个战略性的优点。
无论你是编程初学者,还是专业开发人员,本书的目标是让你快速掌握核心Python语言基础。阅读本书后,你会对Python有足够的了解,能够将其应用于所从事的领域中。
本书设计成一本教程,主要关注核心Python语言本身,而不是其特定的应用程序。因此,它作为一个两卷本的合集中的第一本∶
《Learning Python》,也就是这本书,介绍Python本身。
《Programming Python》,另外一本书,介绍在学习了Python之后可以用它来做什么。
也就是说,《Programming Python》这本基于应用的图书选择了本书所省略的话题,介绍了Python在Web、图形用户界面(GUI)和数据库这样的常用领域的作用。此外,《Python Pocket Reference》一书提供了本书所没有的额外参考资料,可将它作为本书的补充。
本书在策划之初就力求向读者展示比众多程序员初次学习这门语言的时候更深层次的话题。并且,本书基于一个带有测试和练习的3天的Python培训课程,所以可以作为该语言的一个自学教程。
本书第4版从以下3个方面做出了修改∶
覆盖了Python 3.0和Python 2.6,本书强调Python 3.0,但是对Python 2.6中的不同之处给出了提示。
包含了一些新的章节,主要介绍高级的核心语言话题。
重新组织了一些已有的材料,并且使用新的示例扩展它们以便更清楚。
我在2009年撰写本书这一版时,Python分为两支——Python 3.0是新兴的版本并且不兼容地修改了该语言;Python 2.6保持与大量已有的Python代码向后兼容。尽管Python 3被视作是Pvthon的未来,Python 2仍然使用广泛并且会在未来的几年内与Python 3并列地得到支持。尽管只是同一种语言的不同版本,但Python 3.0几乎无法运行为之前版本编写的代码(单单print从语句修改为函数,听上去更合理,但是,它几乎影响到所有已经编写好的Python程序)。
版本的划分使得程序员和图书作者都陷入了两难的境地。尽管编写一本好像Python 2不存在而只介绍Python 3的图书很容易,但这可能无法满足大量基于已有代码的Python用户的需求。大量已有代码都是针对Python 2编写的,并且它们不会很快过时。尽管现在的初学者更关注Python 3,但如果他们必须使用过去编写的代码,那么就必须熟悉 Python 2。所有的第三方库和扩展都移植到Python 3可能还需要数年时间,所以Python 2这一分支可能不完全是临时性的。
为了解决这一分歧并且满足所有潜在读者的需求,本书的这一版更新为覆盖Python 3.0和Python 2.6(以及Python 3.X和Python 2.X系列的后续发布)。本书针对使用Python 2编程的程序员、使用Python 3的程序员,以及介于这二者之间的程序员。
也就是说,你可以使用本书来学习任何的Python版本。尽管这里主要关注Python 3.0,但Python 2.6的不同之处和工具也都针对使用旧代码的程序员给出了提示。尽管这两个版本大部分是相同的,但它们还是在一些重要的方面有所不同,对此我将指出两者的区别。
例如,在大多数示例中,我们使用Python 3.0的print调用,但是,我也将介绍Python 2.6的print语句,以便使你能够理解较早的代码。我还广泛地介绍了新功能,例如Python 3.0中的nonlocal语句和Python 2.6以及Python 3.0中的字符串的format方法,当较早的Python中没有这样的扩展时,我将会指出来。
如果你初次学习Python并且不需要使用任何遗留代码,我鼓励你从Python 3.0开始,它清理了这一语言中长久以来的一些瑕疵,同时保留了所有最初的核心思想并且添加了一些漂亮的新工具。
当你阅读本书时,很多流行的Python库和工具可能也支持Python 3.0了,特别是在未来的 Python 3.1版本中,可以预期文件I/O性能会有较大的提升。如果你使用基于Python 2.X的一个系统,将会发现本书解决了你所关心的问题,并且将帮助你在未来过渡到Python 3.0。
此外,本版也介绍了其他的Python 2和Python 3的发布版本,尽管一些旧的Python 2.X代码可能无法运行本书的所有示例。例如,尽管在Python 2.6和Python 3.0中都有类装饰器,但我们无法在还没有这一功能的旧Python 2.X中使用它。参见前言中的表0-1和表 0-2,它们概括了Python 2.6和Python 3.0中的变化。
尽管本版的主要目标是针对Python 3.0和Python 2.6更新之前的版本的示例和内容,但我们也增加了5章新内容,以介绍新的主题和增加的内容。
第27章是一个新的类教程,使用更加实际的示例来说明Python面向对象编程的基础知识。
第36章提供了关于Unicode和字节字符串的详细介绍,并且概括了Python 2.6和 Python 3.0中字符串和文件的区别。
第37章介绍了特性这样的管理属性工具,并且对描述符给出了新的介绍。
第38章介绍了函数和类装饰器,并且给出了全面的示例。
第39章介绍了元类,并且将它们与描述符进行了比较和对比。
第27章针对Python中的类和OOP提供了一个渐进的、按部就班的教程。它基于我在近年所教授的培训课程中已经使用的一个现场展示,但是,为了在本书中使用已经对它进行了修改。该章设计来在比此前的示例更为实际的背景中展示OOP,并且说明类概念如何综合运用于较大的、实用的程序中。我期望它在这里与在实际的课程中一样有效。
后面新增的4章收录到了本书的最后一个新增部分中,即"高级话题"部分。尽管这些主题从技术上讲都属干核心语言,但不是每个Python程序员都需要深入了解Unicode文
本或元类的细节。因此,这4章单独放到了新的部分中,并且,正式地作为可选的阅读材料。例如,关于Unicode和二进制数据字符串的细节已经放入到了此部分中,因为大多数程序员使用简单的ASCII字符串,而不需要了解这些主题。类似地,装饰器和元类通常也只是API构建者才感兴趣的专门话题,而不是应用程序员所感兴趣的话题。
然而,如果你确实使用这些工具,或者使用代码来做这些工作,"高级话题"部分的章节应该能够帮助你掌握其基础知识。此外,这些章的示例包含了学习案例,这些案例把核心语言概念绑定到了一起,并且它们比本书其他部分的示例更充实。由于这个新的部分是可选阅读材料,所以该部分最后只有问答题但没有练习题。
此外,之前版本的一些内容已经重新组织了,或者用新的示例进行了补充。例如多继承,在第30章增加了列出类树的一个新的学习示例;第20章增加了手动实现map和zip的生成器的示例;第31章新增的代码说明了静态方法和类方法;第23章介绍了包相对导入;第29章的示例介绍了_contains_、_bool_和_index_运算符重载方法,以及针对分片和比较的新的重载协议。
本版还进行了一些结构上的调整以便更清晰。例如,为了融入新的内容和主题,并且为了避免各章主题的重叠,将前5章划分为两部分。这样一来关于运算符重载、作用域和参数、异常语句细节,以及解析和迭代主题就都有了新的独立的章。已有的章内部也进行了一些重新排序,以便更好地介绍主题。
本版还试图通过一些重新排序来减少一些向后引用,尽管Python 3.0的变化使得在某些情况下不可能这么做。要理解打印和字符串格式化方法,现在必须知道针对函数的关键字参数;要理解字典键列表和键测试,现在必须知道迭代;要使用exec来运行代码,需要能够使用文件对象,等等。顺序阅读可能还是最有意义的,但是一些主题可能需要非线性的跳跃和随机查找。
总的来说,本版中有几百处修改。前言的下一个小节,记录下了Python中的27处增加和 57处修改。实际上,可以说本版变得更加高级,因为Python多少变得更加高级了。针对 Python 3.0自身,你最好能自己发现本书中的修改之处,而不是通过这个前言来了解这些修改。
【下载地址】
链接:https://pan.baidu.com/s/1hJ7dfztlksplDVURtzlfNg
提取码:edlc
相关文章
为了更好地适应新形势,满足读者对大数据分析处理学习的迫切需要,我们推出了《大数据分析 ∶ R基础及应用》一书 ,力求使读者能够从中了解大数据
读完本书后,你将掌握R语言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始, 获得初始
通过它,你将学到如何写能处理大量非结构化文本的 Python 程序。你将获得有丰富标注的涵盖语言学各种数据结构的数据集,而且你将学到分析书面
本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。
本书以机器学习与计算统计为主题背景,专门讲t述如何挖掘和分析 Web,上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件
本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。本书不仅包括了对大量Python内置对象的剖析,更将大量的
本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费
本书用 Python 语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共 1
本书面向的读者是那些经常使用电子表格软件进行数据处理,但从未写过一行代码的人。前几章会教你设置 Python 运行环境,告诉你计算机是如何看
神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。本书揭示神经网络背后的概念,并介绍如何通过Pvthon实现神经网络。
Python 是一种容易学习的强大的编程语言。它包含了高效的高级数据结构,能够用简单而高效的方式进行面向对象编程。Python 优雅的语法和
本书是面向 Python 初学者的学习指南,详细介绍了 Python 编程基础,以及一些高级概念,如面向对象编程。
FlashFXP绿色版网盘下载,附激活教程 1547
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1359
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1436
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1619
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1746
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64