当前位置:首页 > 范文 > 《Fluent Python》经典读后感有感

《Fluent Python》经典读后感有感

格式:DOC 上传日期:2024-11-28 08:35:17
《Fluent Python》经典读后感有感
时间:2024-11-28 08:35:17   小编:

读完《Fluent Python》后,深感书中对Python语言内涵的深刻理解与精妙应用。作者犀利的观点和丰富的案例让我对Python的高级特性有了更深入的了解,同时也激发了我对Python编程的兴趣和热情。这本书无疑是提升Python编程水平的必读之作。

《Fluent Python》读后感(一)

由于个人偏好的原因,和Python已经渐行渐远了,也已经很久没有读Python书了,但是偶然又拿起这本书,仍然能让我很有兴致地读下去。觉得这本书给人的感觉是“通透”。即便抛开Python的具体知识,这本书仍然有好多说理评论非常可圈可点,绝对是我读过的写得最好的技术书,好到超越了Python本身。

《Fluent Python》读后感(二)

用 Python,我追求的境界是:写出完美又好用的 API 供别人使用(即便不能一蹴而就),让其享受 Python 所带来的编程乐趣。

Python 是一门十分强大的编程语言,不仅涵盖多范式编程,而且提供了许多高级特性,供开发者选择,让其可以在更高的层面上抽象代码,写出更加优美的代码。

但是要掌握这些特性,并不容易,想当初,我连装饰器的作用原理+流程,都弄了好久才搞懂,直到我能随手写出我心目中的装饰器,才算是彻底搞懂。

本书正好覆盖了这些话题,而且以一种「抽丝剥茧」的手法来讲解,看的时候真的是十分爽!

《Fluent Python》读后感(三)

第一章开头就说了,理论上太美的语言没多少人爱用,而python的创造者Guido的目标是一门“slightly less theoretically beautiful but thereby is a joy to write programs in”的语言。从这几年语言排行榜的流行趋势看来,他远远的做到了。

了解了generator后我会更加在意某个函数是lazy evaluation还是eager的。

coroutine的写法也很给我启发,以前没想过一个线程中还能使多个程序流交替执行。

包括数组引索在内的操作符重载简直是为Numpy和Scipy量身定做,间接导致了Python在大数据和AI时代的崛起。

“easier to ask for forgiveness than permission”,书中提倡少用if判断而多用try-except去当作流控制的手段,因为“Look before you leap(LBYL)”方法可能在多线程中会导致竞争条件,而EAFP方法比用锁更简单。

尽管《Fluent Python》帮助很大,但已经进入了S表达式和函数式语感的我还是更愿意使用Clojure这样高冷高逼格的语言

《Fluent Python》读后感(四)

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything the language has to offer. By taking you through Python’s key language features and libraries, this practical book shows you how to make your code shorter, faster, and more readable all at the same time—what experts consider Pythonic.

Many programmers who learn Python basics fall into the trap of reinventing the wheel because of past experience in other languages, and try to bend the language to patterns that don't really apply to it. Author Luciano Ramalho, a Python Software Foundation member and Python programmer for 15 years, helps you drop your accent from another language so you can code Python fluently.

•Learn practical applications of generators for database processing

•Rethink some design patterns in a Python context

•Examine attribute descriptors and when to use them: the key to ORMs

•Explore Pythonic objects: protocols versus interfaces, abstract base classes and multiple inheritance

《Fluent Python》读后感(五)

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything the language has to offer. By taking you through Python’s key language features and libraries, this practical book shows you how to make your code shorter, faster, and more readable all at the same time—what experts consider Pythonic.

Many programmers who learn Python basics fall into the trap of reinventing the wheel because of past experience in other languages, and try to bend the language to patterns that don't really apply to it. Author Luciano Ramalho, a Python Software Foundation member and Python programmer for 15 years, helps you drop your accent from another language so you can code Python fluently.

•Learn practical applications of generators for database processing

•Rethink some design patterns in a Python context

•Examine attribute descriptors and when to use them: the key to ORMs

•Explore Pythonic objects: protocols versus interfaces, abstract base classes and multiple inheritance

《Fluent Python》读后感(六)

这本书非常好,是深入理解Python最好的两本书之一,另一本可能是《500 Lines or Less》。

之前看到一个友邻说,这本是Python程序员的进阶书。看了一部分之后,感觉对Python协程确实有了更深入的认识——直到偶遇了下面这本书:

500 Lines or Less

9.0

Amy Brown Michael DiBernardo / 2016

才明白,《Fluent Python》中,对很多东西的介绍也只是点到为止。而《500》则深入解释了很多问题,比如协程的具体实现,为什么要引入Task,甚至到Python解释器的对yield from语句的执行方法。

而《500》的编者,把《500》也称作入门书:

都说Python容易入门,可学了三四年,我可能连个junior developer都算不上……

用两周的时间,看完了本书的第四部分【Control Flow】。之前,我对asyncio的印象就很不好,看完这本书,对asyncio有了一些了解之后,印象就更不好了。

比如,yield from这个关键词的设计,非常容易让人产生误解,虽然后来又设计了await,但是坏影响已经形成了,社区文档已经变得混乱不堪。

其次,GvR最初设计Python时,优先考虑的是语法——所以Python拥有最美的语法;但是,对异步和并发的支持不够。当GvR试图去补救这一切时,似乎已经太晚了——我们得到了asyncio这个包,但历史遗留问题太多了,需要重写的包太多了。而且,这个包的语法也很不友好,需要写很多很多重复的代码,让我觉得自己在写Java;协程调用的逻辑并不清晰;需要做很多额外的工作,体验都比不上gevent的monkey patch……

或许我应该尝试一下Go.

《Fluent Python》读后感(七)

历时84个小时读完本书,首先感慨读的很畅快,内容有深度但是并不难。我读的英文版,可能因为作者是巴西人,所用英语并没有太难的句子,对得起书名的Fluent。

本书绝对是技术书籍的典范,从范例到细节再到可能出的问题,分析优缺点,和其他语言比较,甚至还有很多八卦(比如erlang和go的设计理念),一些概念的历史(比如magic method一词来自Ruby社区,Python社区也把它们称为special method)。

我也八卦了一下作者的生平,巴西人,做了十多年的编程语言讲师。行文绝对是简单易懂,复杂的概念也会通过一些简单的实例从浅入深来让人理解。

我先引用作者在最后一章<>soapbox(作者的章后总结)中的引言:

加州大学两位教授(Brian Harvey 和Matthew Wright)的课件 -- 两种计算机科学的教学观点:

保守观点

计算机程序在人类的思维中会变得非常庞大和复杂。因此,计算机科学教育的目的是教会人们如何训练它们的编程能力,比如以这种方式--让500个平庸的程序员聚集在一起,给出规格让他们生产出一个程序。

激进观点

计算机程序在人类的思维中会变得非常庞大和复杂。因此,计算机科学教育的目的是教会人们如何扩展自己的思维以和程序契合,学习更多的概念,将会比单一解决方法更加弹性和有用。一个程序每个单元的编程的想法都必须统观全局。

作者说自己显然是支持后者的(我觉得可以用知其然,知其所以然来概括),并且说他认为Python也正是根据后者的精神来设计的。

作者说他除了Python从来没见过这样一门编程语言能对初学者来说简单,对专业人士实用,对黑客惊喜的语言。

因为Python是自己的第一门编程语言,有段时间一直在找Python的优缺点和发展前景,知乎上面相关的问题比较多。很多人的意见当时我不是看的很懂,现在觉得是他们不懂,有一个说法是"谁能减轻程序员的命名压力就是未来的王者,python取消lambda的单行限制后再来谈前景",当时我觉得命名有这么重要吗?现在我的观点是没那么重要,python的lambda也是有意而为之。

这本书其实很大一本部分是在讲类和OOP。国内精彩能看到批评OOP,宣扬函数式编程的有点,这无可厚非,OOP有它的缺点。

但是OOP可以说是编程语言界最伟大的发明之一了,图灵奖有两届得主的成就都是和OOP有关。

所以我明白有部分人是在唱反调博关注而已。国内的码农技术能力也没有想象中的高,看他们出的书就能看出个大概。

由此我想到了另外一个问题,为什么“程序员是年轻饭,年纪大了不是转管理就是失业”的说法大行其道,貌似很少有人真正享受编程,不然浸淫几十年为何会怕被一个小年轻取代。

大多数人是守旧拒新的,毕竟一套自己熟悉的框架、语言说换就换也不是那么容易。但是在这一行更换工具其实是常态,自己的技能不应该固定于工具,而是一些更底层,更细分领域的知识。比如不应该区分诸如Java/C++/Python程序员,而是以专注的领域来区分如网络编程/数据挖掘/信息安全/计算机图形等等。。这些领域内的知识才是程序员的立身之本。

回到本书,阅读顺序可以打乱,有些概念可能你以及从其他渠道直到了,但是推荐按大章节为单位来阅读,因为其中的内容是连贯并顺畅的,比如第5大章控制流,它的章节顺序是迭代器/生成器 -> 上下文和else语句在try和for中的使用 -> 协程 -> 并发和future -> 并发和asyncio库这种学习顺序是精心安排的,如果你跳过某些章节可能会出现代码看不懂的情况,或者你没有学协程就去学asycio的话一些概念你根本没法理清。

还剩页未读,是否继续阅读? 继续免费阅读

下载此文档

范文

Powered 2024 版权所有 ICP备666666号

付费下载
付费获得该文章下载权限
限时特价 2.00
原价:¥10.00
在线支付
付费复制
付费后即可复制文档
特价:2.00元 原价:10.00元
微信支付
x
提示:如无需复制,请不要长按屏幕影响阅读体验
付费下载
付费后即可下载文档
特价:2.00元 原价:10.00元
微信支付
x
付费下载
扫一扫微信支付
支付金额:2.00