这是一本关于Python编程的书。它并不覆盖Python的方方面面,其重点是呈现现代且精选的Python语言核心,即侧重于Python编程本身。这包括抽象实现、程序结构、函数、对象与类型、协议、生成器、I/O、模块等主题,同时对Python常用的内置函数及标准库进行了简要介绍。这些内容能够有效帮助Python程序员应对各种项目规模的挑战。同时,本书通常会省略那些完全可以通过IDE轻松获取的参考内容(例如函数列表、命令名称、参数等),并特意不去描述Python编辑器工具、IDE、部署等快速变化的内容及相关问题。
《Python精粹》适合Python程序员及相关科学家、工程师、软件专业人士阅读。
领域畅销名著作者烫手力作+Distilled经典系列再续新篇|提炼核心话题+浓缩精华技术+拧干废话水分+深入思考语言|支持Python 3.6以上版本
作者简介
David M. Beazley是Python Essential Reference(第4版,Addison-Wesley,2010年出版)和Python Cookbook(第3版,O'Reilly,2013年出版)的作者。他目前在自己的公司Dabeaz教授计算机科学高级课程。自1996年以来,他一直在使用及教授Python,并进行Python方面的写作及演讲。
译者简介
卢俊祥,网名2gua,书迷;关注Web技术趋势,热衷于App开发、Web开发、数据分析、架构设计以及各类编程语言;陈氏太极拳五十六式爱好者。主要译著有:《The Little Schemer:递归与函数式的奥妙》《SPA设计与架构:理解单页面Web应用》。
前言
自我撰写Python Essential Reference以来,时间已经过去了20多年。那时,Python还是一门非常小众的编程语言,因此第1版的Python Essential Reference也就只装着Python标准库的一组实用工具,所以阅读该书并不费脑。该书的第1版反映了那个时代Python的实际情况。该书本来是一本小书,开发者可以随身携带着它在荒岛或神秘宝库等地方写Python代码。在随后的3个版本中,Python Essential Reference或多或少地演进为一本紧凑而完整的语言参考书——如果你打算在整个长假里实践Python编程的话,那么为什么不把Python研究得彻彻底底呢?
今天,距离上一版Python Essential Reference的出版已经过去了十多年,Python生态早已今非昔比。Python不再是一种小众编程语言,它已经成长为世界上最流行的编程语言之一。Python程序员可以通过手边的高级编辑器、IDE、笔记本、网页获取丰富的Python帮助信息。事实上,已经没有太大必要查阅参考书,因为你敲几个键就能获取几乎所有想要的参考资料。
要说有什么问题,那就是到处都能搜索信息,Python的内容又如此之多,这种现实情况带来了一种不同的挑战。如果你刚开始学习或需要解决一个新问题,那么对从何处入手可能会不知所措。[ 毕竟信息爆炸时代如何筛选出有效的知识也是一门学问。——译者注]同时,将各种工具的功能特性跟语言核心本身区别开来也很困难。而解决此类问题正是本书的出发点。
本书是一本关于Python编程的书。它并不覆盖Python的方方面面,它的重点是呈现现代且精选的Python语言核心。长期向科学家、工程师以及软件专业人士教授Python的经历,让我认识到这种知识组织方式非常重要。不过,它也是一本关于编写软件库、拓宽Python应用边界及发掘实效技术的图书。
在大多数情况下,本书侧重于Python编程本身。这包括抽象实现、程序结构、数据、函数、对象、模块等主题,这些主题能够有效帮助Python程序员应对各种项目规模的挑战。而那些可以完全通过IDE轻松获取的参考内容(比如函数列表、命令名称、参数等),本书通常会省略。我也特意不去描述Python编辑器工具、IDE、部署等快速变化的内容及相关问题。
也许有争议的是,与大型软件项目管理相关的语言特性并非本书重点。Python有时也用于由数百万行代码组成的大型而重要的项目。此类应用需要专门的工具、设计和功能特性。它们还涉及委员会的设立和各种会议,以及对重大事项做出决定。对于我们这本小书来说,这要求太高了。但也许最实在的原因是,我并不使用Python来编写这样的应用程序——你也不应该这样做,至少别养成这种嗜好。[ 推测作者这里想要表达的意思是,由于Python大型项目需要体系化支撑,“没有金刚钻,就别揽瓷器活儿”,没有过硬的功底和足够的组织力量,就不要轻易尝试此类项目。这里应该没有低估Python的意思。——译者注]
一本书的编写,对于不断发展的语言特性总是有一个界限。本书编写于Python 3.9发布时期。因此,它不包括计划在Python后续版本中添加的一些主要功能,如结构化模式匹配,这也许是本书后续版本要讲的话题。
最后,但同样重要的是,我认为保持编程乐趣很重要。我希望本书不仅能帮助你成为一名高效的Python程序员,还能让你获得某种神奇的魔法,从而能够使用Python来探索星辰,在火星上驾驭直升机,以及在后院用水枪喷射松鼠。