Python 周报,提供有价值的 Python 及行业相关信息。

如果你发现了有价值的信息、文章和工具等,可以到 Issues 里提给我,记得写上推荐的理由。也欢迎提出意见和建议。

:pencil: 文章和教程

DeepMind: At Home With AI

由 DeepMind 科学家和工程师策划的教育资源清单,供有兴趣学习更多有关人工智能,机器学习和其他相关主题的学生使用。

Python 模式匹配:Guard 和 or 模式可能无法按照你期望的方式进行交互

PEP 622 建议向 Python 添加模式匹配构造。模式匹配允许程序员使用镜像构造语法的语法来解构数据。该建议使 Python 与 Haskell,OCaml 和 Rust 等许多其他现代编程语言保持一致。但是,提案中包含的两个功能(或模式和防护)可能以令人惊讶的方式进行交互──有关与 OCaml(一种同时具有模式和防护的语言)相关的交互作用,请参见本白皮书

你可以在以下 cpython 分支中试用此 PEP 的正在进行中的实现:https://github.com/brandtbucher/cpython/tree/patma

在本文的其余部分中,我将简要概述模式匹配,定义或模式和防护,并展示在 Python 上下文中令人惊讶的行为。

Python函数调用如何增加内存使用量

与 C 之类的语言相比,Python 的优点之一就你不必担心在程序执行过程中如何释放内存。但是有时候,Python 的内存管理无法按你期望的方式工作。

Python 的 reduce():从实用风格到 Pythonic 风格

Python 的 reduce() 是一种实现称为折叠或归约的数学技术的函数。当你需要将函数应用于可迭代对象并将其缩减为单个累加值时,reduce() 很有用。 Python的 reduce() 在具有功能编程背景的开发人员中很流行,但是 Python 提供了更多功能。

在本教程中,你将学习 reduce() 的工作方式以及如何有效使用它。你还将学习一些替代 Python 工具,这些工具比 reduce() 更具 Python 风格,可读性和效率。

在本教程中,你将学习:

  • Python 的 reduce() 的工作方式
  • 一些更常见的 reduce 用例
  • 如何使用 reduce() 解决这些用例
  • 有哪些替代的 Python 工具可用来解决这些相同的用例

有了这些知识,你就可以决定在解决 Python 中的缩小或折叠问题时要使用哪些工具。

为了更好地了解 Python 的 reduce() ,事先了解如何使用 Python 可迭代对象,特别是如何使用 for 循环遍历它们,将很有帮助。

:coffee: 关注我们

RSS 订阅:PythonWeekly RSS