专栏名称: Python猫
喵生苦短,必须优雅!从喵星来到地球,我爱上了Python,变得优雅而智能。现在我给大家讲讲喵星的故事:喵~妙~,喵~妙~,喵~妙~妙~~~
今天看啥  ›  专栏  ›  Python猫

Python-3.14 持续增强中的函数式编程

Python猫  · 公众号  ·  · 2024-10-28 09:00
    

主要观点总结

文章介绍了Python 3.14版本中operator模块新增的两个函数is_none和is_not_none,并解释了它们的用途和背景。同时,文章还提到了以前在使用None时遇到的问题,以及官方更新这些函数的意图。此外,文章还提到了函数式编程与面向过程编程的区别,并强调了社区在增强函数式编程方面的努力。

关键观点总结

关键观点1: operator模块新增了is_none和is_not_none函数

这两个函数可以更方便地判断一个对象是否为None。

关键观点2: 以前使用None值可能导致的程序问题

当MySQL返回值为None时,可能导致程序在判断seconds_behind_master时出错。

关键观点3: 官方更新用意

官方更新是为了提供常用的比较函数,方便函数式编程中的真假值测试,同时也实现了标准库中的统一。

关键观点4: 函数式编程与面向过程编程的区别

函数式编程更强调逻辑的可读性和复用性,而面向过程编程更注重步骤的执行。

关键观点5: 推荐Python潮流周刊

Python潮流周刊精选全网优质Python文章、教程等内容,帮助读者紧跟技术前沿。


文章预览

背景 应该是在 Python 这条道上混的久了,总能不经意间看到一些水面之下的东西。就比如 3.14 版本的 operator 模块增加了下面这样的两个函数。change-log 是这样写的 Two new functions operator.is_none and operator.is_not_none have been added, such that operator.is_none(obj) is equivalent to obj is None and operator.is_not_none(obj) is equivalent to obj is not None. (Contributed by Raymond Hettinger and Nico Mexis in gh-115808.) 实现如下 def is_none(a): "Same as a is None." return a is None def is_not_none(a): "Same as a is not None." return a is not None 新手一定会认为,就这都能上 change-log 太水了。然而对于我这种几年前自己亲自实现过这类型函数的人来说,太亲切了。 讲一下 None 以前是怎么坑的我 以前我们有一个程序去监控 MySQL 的延时,当延时大于 100 秒的时候打告警电话,伪代码是这样的。 status = get_replication_la ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览