豆瓣9.1分,这本书会大大提升很多开发者的Python编程能力

各位朋友,不知道你写 Python 代码几年了,有没有安安静静、认认真真地审视过自己写的代码?

俗话说,写代码简单,写好代码难。即使是你进入大公司,参与了大项目,当你打开 IDE,你的感觉可能都会是——数百行的函数和神秘的数字字面量比比皆是,开发任何一个小需求都难如登天。

不管入行几年,能写得一手规范、整洁、可重构性好的代码,都是最值得程序员骄傲的事情。那么——

好代码有哪些要素?

话说回来,到底怎样的代码才算是好代码?在这方面,Martin Fowler 有一句话常被大家引用:

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

“任何傻瓜都能写出计算机能理解的代码。优秀程序员写人类能理解的代码。”

我认为它可以作为评价好代码的原点:好代码一定是可读、易读,且容易理解的。写出好代码的第一原则,就是把人类读者放在第一位。

除了可读性以外,评价代码好坏还有许多其他维度:

贴合编程语言:是否使用了当前编程语言的推荐写法?语言特性和语法糖,使用程度是否恰到好处?•易于修改:代码设计是否考虑了未来的需求变更,当变化发生时,代码是否容易随之修改?•API 设计合理:API 设计是否合理,易于使用?好的 API 在简单场景下使用方便,在高级场景下又可以随需求扩展。•性能够用:代码性能是否满足当前业务需求,同时为未来保留了一定提升空间?•避免过度设计:代码是否存在过度设计、过早优化的毛病?•…

总而言之,对于任何层级的程序员来说,好代码都不是什么唾手可得的东西。要写出好代码,需要在许多维度上反复权衡、精心设计,最后再加以持续打磨。

——那么有没有一本书,是专门系统讲解怎么写好 Python 工程代码的呢?今天为大家介绍的这本《Python工匠:案例、技巧与工程实践》就是国内罕见的优秀的原创作品,豆瓣读者给出了 9.1 分的好评。

c78692df7e44bc8e66d6cb2e849bf08d.png

这本书基于GitHub 开源系列文章,是腾讯大佬朱雷从 2016 年开始创作的“Python工匠”系列,其 GitHub Star 数已经超过 5K,被“腾讯技术工程”等多家媒体全系列转载,收获诸多好评。

虽说内容基于“Python工匠”系列文章,但最终成书的内容远远多于开源系列文章,扩充篇幅达原先内容的两倍,成书 400 页,可以用|五大部分|三大板块|13章内容|来概括。

下面先上一下思维导图,后面详细讲讲五大部分和三大板块。

785cb5e255343c08a6916f64653b1eb0.png

五大部分

全书共计 13 章,按内容特色可归入五大部分。

第一部分  变量与基础类型  由第1章、第2章和第3章组成。在学习一门编程语言的过程中“如何操作变量”和“如何使用基础类型”是两个非常重要的知识点。通过学习这部分内容,你会习得如何善用变量来改善代码质量,掌握数值、字符串及内置容器类型的使用技巧,避开常见误区。

第二部分  语法结构  由第4章、第5章和第6章组成。条件分支、异常处理和循环语句是 Python 最常见的三种语法结构。它们虽然基础,但很容易被误用,从而变成烂代码的帮凶。本部分内容会带你深入这三种语法结构,教你掌握如何用它们简洁而精准地表达逻辑,写出高质量的代码。

第三部分 函数与装饰器 由第 7 章和第 8 章组成。函数是 Python 语言最重要的组成要素之一。正是因为有了函数,我们才获得了高效复用代码的能力。而装饰器则可简单视为基于函数的一种特殊对象——它始于函数,但又不止于函数。这两章介绍了许多与函数和装饰器有关的“干货”,掌握它们,可以让你在写代码时事半功倍。

第四部分 面向对象编程 由第 9 章、第 10 章和第 11 章组成。众所周知,Python 是一门面向对象编程语言,因此“面向对象技术”自然是 Python 学习路上的重中之重。第 9 章围绕 Python 语言的面向对象基础概念和高级技巧展开。第 10 章和第 11 章则是为大家量身定制的面向对象设计进阶知识。

第五部分 总结与延伸  由第 12 章和第 13 章组成。这部分内容可以看作对全书内容的总结和延伸。第 12 章汇总本书出现过的所有与 “Python 对象模型”相关的知识点,并阐述它们与编写优雅代码之间的重要关系。而最后的第 13 章则是一些与大型项目开发相关的经验之谈。

三大板块

除了第 11 章和第 13 章等少数几个纯案例章以外,其他章都包含基础知识、案例故事、编程建议三个常驻板块。

其中,基础知识板块涵盖和该章主题有关的基础知识点。举例来说,在第 6 章的基础知识板块,你会学习有关迭代器与可迭代类型的基础知识。不过,需要提醒各位的是,本书中的基础知识讲解并不追求全面,仅包含笔者基于个人经验挑选并认为比较关键的知识点。

假如说本书的基础知识板块与其他同类书的内容大同小异,那么案例故事与编程建议则是将本书与其他 Python 编程类图书区分开来的关键。

在每一个案例故事板块,你会读到一个或多个与该章主题相关的故事。比如,第 1 章讲述了一位 Python 程序员去某公司参加面试的故事,读完它,你会领会到“变量与注释”究竟是如何影响了故事主人公的面试结果,最终深刻地理解两者是如何塑造我们对代码的第一印象的。

编程建议板块主要包含一些与该章主题相关的建议。比如在第 4 章中,我一共介绍了 7 条与条件分支有关的建议。虽然内容包罗万象,但书中的所有编程建议都是围绕“如何写好代码” 这件事展开的。比如,我会建议你尽量消除分支里的重复代码、避开 or 运算符的陷阱,等等。

除了第 10 章与第 11 章同属一个主题,有先后顺序以外,本书的每一章都是独立的。你可以随意挑选自己感兴趣的章节开始阅读。

专家阅读推荐

本书是少有的进阶提升类原创读物,致力于帮助大家写出清晰易懂、层次分明的代码,既保障了软件质量,又能为工程师积累良好的个人口碑。如同写得一手好文章,写得一手好代码也会获得同行的尊重。
——党受辉,腾讯IEG技术运营部助理总经理

在我20年的Python学习和使用生涯中,这是我心中顶好的Python参考书——书中清晰、细致地介绍了Python代码应该遵循的编程风格,并解释了背后的原理和机制。无论是初学者还是有经验的同行,我都推荐你读读这本书。
——刘鑫,Python Tutorial译者、Python中文社区早期成员

这是国内真正关于“最佳实践”的Python书——什么是Pythonic?看完此书就知道了。作者从工程实践出发,选取了大量切实的案例,帮你补齐学完入门教程之后的部分。强烈推荐。
——明希(@frostming),PyPA成员、PDM作者

本书描述了一些Python新手(甚至老手)会犯的错误,小到变量取名,大到程序结构,由浅入深、面面俱到。这是一本不可多得的实用好书,书中的很多技巧不仅适用于Python,使用其他编程语言的读者也能受益良多。
——赖信涛(@laixintao),Shopee SRE

作者曾多次提及“编程在于表达真实世界中的逻辑”,而这也是我推荐本书的原因:你能从这本“授之以渔”的书中,学到超越Python编码本身的思维模式,促使自己完成从“工具人”到“工匠”的跃迁。
——@fantix,活跃于GINO、asyncpg、uvloop、EdgeDB等开源项目

本书深入讲解了Python进阶知识的方方面面,并配以许多有趣的案例故事,使读者能更轻松地理解个中原理,并更好地将其运用于日常工作。如果你是一位想写出“漂亮”代码的Python开发者,我向你强烈推荐本书。
——李卫辉(@liwh),自由职业者

《Python工匠》不是一本语法书,而是一本关于工程实践的书。它试图告诉读者:如何正确选择和使用Python语言的各种特性,写出运行速度更快、bug更少、易测试并且易维护的程序。
——@laike9m,“捕蛇者说”主播、Cyberbrain作者、Google工程师 

Python进阶,就读工匠书

01de9e20cb79c8bbb8f5f9d8a124b011.png

豆瓣 9.1 分,闭眼入,狠狠学

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值