Python 周报,提供有价值的 Python 及行业相关信息。
如果你发现了有价值的信息、文章和工具等,可以到 Issues 里提给我,记得写上推荐的理由。也欢迎提出意见和建议。
新闻
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 开发人员形象。
文章和教程
机器学习和深度学习基础
本系列为初学者介绍了深度学习和人工神经网络基础的概念。 除了涵盖这些概念之外,我们还将展示如何使用 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 在客户端应用程序中增强应用程序范围内的搜索
- 在生产服务器中设置防火墙
项目,软件包和代码
GIMP-ML:GIMP的机器学习Python插件集。
Rich:Rich是一个Python库,用于在终端中显示富文本和精美格式。
书籍
程序员修炼之道(第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
音视频
ThoughtWorks - Python的未来
企业对机器学习的日益重视也使人们对 Python 产生了浓厚的兴趣。是什么使 Python 与其他语言不同?使其具有独特性的主要功能是什么?Python 以后的发展将会是怎样?在本集中,我们的播客与来自ThoughtWorks Brazil 的 Luciano Ramalho(著名的Python书籍作者)进行了交谈,内容涉及魔术方法(dunder methods),快速失败(fast fail)以及即将发行的第二版《流畅的 Python》中新增的功能。
关注我们
RSS 订阅:PythonWeekly RSS