当前位置: 首页 > news >正文

《Learn Python Programming(4th)》读后感

一、 为什么读这本书?

之所以选择读这本书是因为“例行惯例”——读每年新出版的Python相关书籍,尝试从这些书中收集一些好的示例,帮助理解一些不好理解的概念。

当然,其实《Learn Python Programming(4th)》(中译名:《Python编程入门与实战》,Packt Publishing 出版社)是 2024年 9 月 24 日出版的,只是 2024 年没有读,推到了 2025 年读。

二、这本书写了什么?

本书总共分为17章,按找内容可以划分为两部分:第一部分为Python 基础;第二部分为 Python应用。

第一部分 Python 应用涵盖:

(1) 概览(安装、虚拟环境、模块、包、运行)。

(2) 数据结构(int, str, tuple, list, set, dict)。

(3) 控制流程(if 语句,match 语句,for 语句,while 语句)。

(4) 函数(定义,参数,匿名函数,内置函数)。

(5) 面向对象编程(OOP,类,继承)

(6) 文件和输入输出

(7) 异常&调试&测试&日志&性能分析。

(8) 其它(类型提示,加密)

第二部分为 Python 应用涵盖:

(1) 数据科学(Pandas, Numpy)。

(2) API开发(FastAPI)

(3) CLI应用。

(4) Python应用打包。

(5) 编程挑战。

总体而言大部分内容都涵盖了,唯独第一部分缺乏“并发编程”,实在不应该,因为一个稍微大型一点的应用必然离不开并发编程,可以说是项目必备。

当然,还有一个最“滑稽”的,作者在第 12 章大谈类型提示的好处——“1.Improved code readability and documentation;2.Enhanced error detection;3.Better IDE experience and autocompletion;4.Improved collaboration and code reviews;5.Code flexibility and reusability。”。但是,除了第十二章为了演示类型提示的代码用了类型提示,其它的代码都没用类型提示。我只想问一句“两位这作者,你们这样违心,哈特(heart)不会痛吗?”

从 2025 年 8 月 27 日至 2025 年 11 月 5 日,期间断断续续花了 47 天阅读完《Learn Python Programming(4th)》。

三、这本书特点

1.简单但啰嗦

这算是 Packt Publishing 出版社的一个“feature”,截止目前我读过的所有 Packt Publishing 出版的书都有这个问题,导致虽然书中内容很浅,但已经600多页了。

其它都是些小问题,不赘述。本来想说一下优点,可是翻遍整个读书笔记,发现没有记录优点,I’m sorry~

四、这本书适合什么样的人?

回到“为什么阅读这本书”——读每年新出版的Python相关书籍,尝试从这些书中收集一些好的示例,帮助理解一些不好理解的概念。这次发现一个不错的例子,以前我总是记不住“什么是强类型语言/弱类型语言?(虽然这两个概念也没啥用)”

# Python: 强类型语言
a = 2
b = "2"
print(a + b) # TypeError: unsupported operand type(s) for +: 'int' and 'str'// PHP: 弱类型语言
<?php
$a = 2;
$b = "2";
echo $a + $b; // 4
?>

本书属于入门级教材,适合想入门 Python 的人员,如果已经有 Python 基础了,那么这本书可以不看。因为没有涉及多少高级主题,同时书中的例子缺乏工程性,虽然说写法没有错,但一般在实际开发中不这么用。

假设你确实想通过这本书入门 Python,那么提供一个阅读建议:如果你能看懂作者写的代码,就可以跳过作者的解释,很多解释没有太大意义,不用担心错过重要的内容。

五、推荐指数

按照 5 星的标准,本书推荐指数 2 颗星。

六、参考资料

1. 编程

(1)豆瓣,Fabrizio Romano,Heinrich Kruger:https://book.douban.com/subject/37497224/

(2)源码,Github: https://github.com/PacktPublishing/Learn-Python-Programming-Fourth-Edition

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

http://www.dtcms.com/a/585143.html

相关文章:

  • 网站开发毕业生报告网页设计与制作项目教程陈义文
  • SSM基于JAVA的物流管理系统ztwfg(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 如何在 Ubuntu 上安装 PostgreSQL
  • openssl-1_0_0-1.0.2p-3.49.1.x86_64.rpm 怎么安装?CentOS/RHEL 手动安装RPM包详细步骤
  • C++ 面试高频题 链表 模拟 力扣 143. 重排链表 题解 每日一题
  • 快速定位bug,编写测试用例
  • 力扣第 474 场周赛
  • Node与Npm国内最新镜像配置(淘宝镜像/清华大学镜像)
  • 超越时空网上书城网站建设方案网站人员队伍建设落后
  • 海外云手机是指什么
  • react native 手搓数字键盘
  • 算法复杂度解析:时间与空间的衡量
  • 开源鸿蒙SIG-Qt技术沙龙成都站成功举办,产品方案展示
  • 2025年渗透测试面试题总结-235(题目+回答)
  • C语言进阶:深入理解函数
  • 计算机图形学·11 变换(Transformations)
  • Rust编程学习 - 如何利用代数类型系统做错误处理的另外一大好处是可组合性(composability)
  • LocalAI:一个免费开源的AI替代方案,让创意更自由!
  • 深入理解Ext2:Linux文件系统的基石与它的设计哲学
  • 泉州网站的建设html网页制作我的家乡
  • PHP 魔术常量
  • 【iOS】音频与视频播放
  • php通过身份证号码计算年龄
  • 基于PHP+Vue+小程序快递比价寄件系统
  • Next.js、NestJS、Nuxt.js 是 **Node.js 生态中针对不同场景的框架**
  • 牛客周赛 Round 114 Java题解
  • PostgreSQL 中数据库、用户、对象关系、表、连接及管理概述
  • 樟树市城乡规划建设局网站爱站攻略
  • Gitblit 迁移指南
  • Git分支管理核心:git fetch与git checkout创建分支完全指南