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

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

:pencil: 文章和教程

别用 datetime.now ── 实用 Python 依赖注入

如果你曾经进行过某项测试,然后某天开始无缘无故地失败,或者一次无明显原因的每次月圆之夜都失败了的测试,那么你的代码可能依赖于不确定性的东西。本文介绍了一种在 Python 中进行依赖项注入的实用方法,该方法正确使用后可以消除不确定性,并使你的代码更易于维护和测试。

Python 依赖管理工具概述

完全被所有用于管理依赖项的工具所迷惑吗?pip,venv,Docker,conda,virtualenvwrapper,pipenv,poetry 等等,你应该使用哪一个?为什么我们甚至拥有所有这些不同的工具?他们可以一起工作吗?这篇文章简要介绍了每种工具,创建原因以及解决的问题。在文章的结尾,你可以找到一张表格,其中汇总了所有信息以及人们使用的常用设置。

在 Raspberry Pi 上使用 Python 构建物理项目

Raspberry Pi 是市场上领先的物理计算板之一。从建立 DIY 项目的爱好者到初次学习编程的学生,人们每天都在使用 Raspberry Pi 与周围的世界互动。Python 内置在Raspberry Pi 中,因此你可以掌握自己的技能,立即开始构建自己的 Raspberry Pi 项目。

在这篇教程中,你将学习:

  • 设置新的 Raspberry Pi
  • 使用 Mu 编辑器在 Raspberry Pi 上运行 Python 或通过 SSH 远程运行
  • 从连接到 Raspberry Pi 的物理传感器读取输入
  • 使用 Python 将输出发送到外部组件
  • 在 Raspberry Pi 上使用 Python 创建独特的项目

使用 Python 在 Django 中构建模型多态(Polymorphism)

在关系数据库中对多态进行建模是一项艰巨的任务。在本文中,我们介绍了几种建模技术,它们使用 Django 对象关系映射(ORM)来表示关系数据库中的多态对象。本中级教程适用于已经熟悉Django基本设计的读者。

从零开始构建一个 Web 框架

WEB 框架提供的功能包括(1)Request & Response 对象,(2)路由管理,(3)模板引擎,(4)对象关系映射(ORM)等功能,这篇演讲介绍了如何从零开始构建一个 Web 框架,可以在这儿查看演示稿。

SOLID 设计原理的 Python 指南

Michael Feathers 基于 Robert C. Martin 论文《设计原理和设计模式》中的原理而创建的助记符 SOLID 功不可没。这些原则是

  • 单一责任原则
  • 开闭原理
  • 里斯科夫的替换原则
  • 接口隔离原理
  • 依赖倒置原则

我们很快将详细介绍这些内容。关于 SOLID 设计原则要注意的最重要的一点是,它们应整体使用。选择一个而只有一个不会对你有多大帮助。当一起使用时,你会开始看到这些原则的真正价值。

统一 Python 仓库

在 Opendoor,我们有很多 Python 服务。最初它们分散在几个 Git 仓库中,这引起了一些问题,我将在稍后描述。为了消除这些问题,我们决定将所有新的 Python 服务放在一个Git存储库中,尽管这些服务保持独立。本文介绍了对我们来说行之有效的方法,包括仓库组织,依赖管理,代码共享和 CI/CD。

Django Rest Framework 的批量更新

通用 rest framework 框架入口通常设计为一次修改一个对象。但是,你经常会发现,当你需要修改数千个对象时,这可能成为性能的巨大瓶颈。在这种情况下,最好执行一次调用来批量执行该操作,而不是对入口进行数千次调用。在本教程中,我们将向你展示如何将更新 API 的速度提高10倍。

Python 调试终极指南

即使你编写清晰易读的代码,即使你用测试覆盖代码,即使你是一个非常有经验的开发人员,也不可避免地会出现奇怪的错误,并且你将需要以某种方式进行调试。很多人诉诸于仅使用一堆打印语句来查看代码中正在发生的事情。这种方法远非理想,还有很多更好的方法来找出你的代码出了什么问题,我们将在本文中探讨其中的一些方法。

53个 Python 面试问答

数据科学家和软件工程师的 Python 问题。

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

sickcodes/Docker-OSX:在 Docker 容器中运行Mac!在 Docker 中的运行接近原生的 OSX-KVM!使用 X11 转发!

encode/httpx:HTTPX 是一个功能齐全的,Python 3 的 HTTP 客户端,它提供同步和异步API,并支持 HTTP/1.1 和 HTTP/2。

PicardParis/cherry-on-py:使用机器学习模型和无服务器管道自动生成视频的摘要。

:tv: 音视频

PythonBytes - Episode #184: Too many ways to wait with await?

使用 Python 的 asyncio 的主要吸引力之一是能够触发许多协程并同时运行它们。你知道等待结果的方式有几种吗?

:coffee: 关注我们

RSS 订阅:PythonWeekly RSS