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

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

:newspaper_roll: 新闻

Python 3.9 发布时间表

在上周的周报中,我们将 Python 3.9 的发布日期弄错了,以下是正确的日期:3.9.0最终版预计于2020年10月5日发布。2020年5月18日,将发布 3.9.0 beta 1版,标志着功能冻结阶段的开始。

2020 Python 语言峰会

Python 语言峰会是由 Python 语言实现者(包括 CPython 和替代 Python 的核心开发人员)以及第三方库作者和其他 Python 社区成员组成的小型聚会。峰会的特色是简短的演讲,然后进行小组讨论。2020年,峰会通过视频会议举行了两天;并使用语音和聊天形式结合提出问题。Python 软件基金会(PSF)正在发布演示文稿的摘要。

TensorFlow 2.2.0 发布

TensorFlow 2.2.0 正式发布了,该版本终止了对 Python 2 的支持。与此同时,TensorFlow 的 Docker 镜像的新版本仅提供Python 3。由于现在所有镜像都使用Python 3,因此将不再提供包含 -py3 的 Docker 标签,并且不会更新现有的 -py3 标签(例如 latest-py3)。查看发行说明以了解此发行版中的其他功能和改进。

Python开发人员调查2019年结果

去年11月,来自150多个国家/地区的24,000多名 Python 用户参加了这项调查。借助收集到的数据,我们能够呈现汇总的结果,识别最新趋势并创建 Python 开发人员形象。

:pencil: 文章和教程

机器学习和深度学习基础

本系列为初学者介绍了深度学习和人工神经网络基础的概念。 除了涵盖这些概念之外,我们还将展示如何使用 Keras(一种用 Python 编写的神经网络 API)在代码中实现某些概念。 我们将学习人工神经网络中的层,激活函数,反向传播,卷积神经网络(CNN),数据增强,迁移学习等等!

Python CLI 漫游指南

这片文章基于作者同名 PyCon 2020演讲

第1部分──终端和 CLI 的剖析:了解终端和 CLI 的工作方式。

第2部分──用于编写 CLI 的 Python 软件包:查看可用于编写 CLI 的软件包,这些软件包可在 Python 标准库和 PyPI 中获得。

第3部分──使用 Click 编写和打包 CLI:探索各种 CLI 用例,并了解如何使用 Click 和一些常用的 git 子命令来实现 git 的克隆。

第4部分──用户体验:查看一些可以创建良好的 CLI 用户体验的原则。

Python Functools 模块简介

functools 模块是 Python 标准库的一部分,是针对高阶函数实现的。高阶函数是作用于或返回另一个函数或多个函数的函数。通常,就此模块而言,任何可调用对象都可以视为函数。functools 提供11个函数:

  • cached_property()
  • cmp_to_key()
  • lru_cache()
  • partial()
  • partialmethod()
  • reduce()
  • singledispatch()
  • singledispatchmethod()
  • total_ordering()
  • update_wrapper()
  • wraps()

在整篇文章中,我们将仔细研究每个函数以及一些有用的示例。你可以在 GitHub 上找到本文中使用的代码段。

使用Python datetime处理日期和时间

处理日期和时间是编程中的最大挑战之一。在处理时区,夏令时和不同的书面日期格式之间,很难跟踪所指向的日期和时间。幸运的是,Python 内置的 datetime 模块可以帮助你处理日期和时间的复杂。在本教程中,你将学习:

  • 为什么用日期和时间编程是一个挑战
  • Python datetime 模块中提供哪些功能
  • 如何以特定格式打印或阅读日期和时间
  • 如何对日期和时间进行算术运算

另外,你将开发一个精巧的应用程序,以计算到下一次 PyCon US 之前的剩余时间!

为什么测试用例要写文档

很明显,一段时间之后你可能就忘了测试用例写了啥了。

Python 中的一些安全问题

文章分析了 Python 中的一些安全问题,涉及的方面包括:

  • Input function
  • Assert statement
  • Reusable integers
  • Floats comparison
  • Private attributes
  • Module injection
  • Code execution on import
  • Monkey patching
  • Shell injection via subprocess
  • Temporary files
  • Insecure deserialization
  • Templating engines

Python 2 死亡的变化

年初,Python 2发行系列已结束其 Python 核心团队的上游支持,2020年4月20日,Python 2系列的最后一个版本 2.7.18 也正式发布。尽管操作系统供应商将在一段时间内支持 Python 2,并且其他一些社区项目声称他们将无限期地继续支持 Python 2解释器,但 Python 开发的主流最终将继续前进。流行的库和框架大多已经删除,或者正在删除对 Python 2的支持(例如,Django 最后支持 Python 2 的1.11 LTS(最初于2017年发布)其上游支持已于4月结束)。作者简要回顾并探讨了 Python 2之后的变化和发展。

后端软件架构清单:如何从头开始构建产品

当你一大早醒来突然有了一个很好的商业点子时,你可能会迫不及待开始构建你的产品软件。从头开始构建软件架构涉及很多事情,你可能会完全忘记某些部分。在产品周期的后期,这些可能会是你的坑。这篇文章中的清单列举了你在首次部署前需要考虑的事项。因此,在不进行进一步构建的情况下,这是从头开始为产品构建后端结构时应检查的清单。这些清单包括:

  • 针对你的项目,选择正确的语言和框架
  • 实现身份验证和授权微服务
  • 创建一个抽象基类模型,以供数据库中的所有其他模型继承
  • 设置通知微服务
  • 设置错误日志记录
  • 实现请求响应和应用程序的日志记录
  • 在你的 API 中引入限制(throttling)和对应用程序服务器进行速率限制
  • 从第一天开始就建立和配置异步通信
  • 设置定时任务
  • 正确管理你的密码(参数文件)
  • 从第一天开始就对 API 进行版本控制
  • 确定前端客户端的硬更新和软更新版本检查
  • 从第一天开始就引入持续集成(CI)
  • 启用容器支持
  • 使用应用程序监控工具
  • 使用 ElasticSearch 在客户端应用程序中增强应用程序范围内的搜索
  • 在生产服务器中设置防火墙

:office: 项目,软件包和代码

GIMP-ML:GIMP的机器学习Python插件集。

Rich:Rich是一个Python库,用于在终端中显示富文本和精美格式。

:books: 书籍

程序员修炼之道(第2版)──通向务实的最高境界

《The Pragmatic Programmer》第一版出版于1999年,距今已有20年,出版后,对于软件工程实践产生了很大影响。该书作者是 Andrew Hunt 和 David Thomas,他们都是敏捷宣言的17个创始者之一。Andrew 还是敏捷联盟(Agile Alliance)的创始人。David 则是著名的 DRY(Don’t Repease Yourself) 一词的发明者。在时隔二十年之后重新修订出版本书,作者对于其内容作了不少调整,这些调整反映了他们在这二十年中所获得的新的认知,也反映了时代变迁。

── 摘自 https://zhuanlan.zhihu.com/p/79435147

:tv: 音视频

ThoughtWorks - Python的未来

企业对机器学习的日益重视也使人们对 Python 产生了浓厚的兴趣。是什么使 Python 与其他语言不同?使其具有独特性的主要功能是什么?Python 以后的发展将会是怎样?在本集中,我们的播客与来自ThoughtWorks Brazil 的 Luciano Ramalho(著名的Python书籍作者)进行了交谈,内容涉及魔术方法(dunder methods),快速失败(fast fail)以及即将发行的第二版《流畅的 Python》中新增的功能。

:coffee: 关注我们

RSS 订阅:PythonWeekly RSS