本周未找到足够大的小欢乐,但有3个非常小的小欢乐。
termtosvg
现在,习惯上在github上的库和仓库中安装漂亮的动画,展示一个控制台,其中包含您的创作的实时演示。

这个传统无疑是好的和正确的。 仅录制此类动画可能很困难/懒惰/一次。 termtosvg的作者用一块石头射杀了所有鸟,并为程序员录制控制台演示提供了很棒的东西。
与许多其他解决方案不同, termtosvg不会编写视频或gif。 这个东西捕获了控制台中发生的一切,并根据终端中显示的内容渲染SVG动画。 在输出中,您不仅可以看到屏幕动画,还可以获取美观而时尚的控制台操作渲染。 SVG的重量远远小于其他格式,但是可以很容易地对其进行编辑。
对于有眼光的人,还提供了几种预定义的色彩解决方案,以便您可以自定义实时演示。
您可以在一个简短的主题中呈现输出:

您可以使用下面的窗口控制按钮和进度条以这种深色主题进行渲染:

您还可以采用其他十二种配色方案。
一切都照常设置,
pip install termtosvg
宏也可以通过brew传递(必要的Python版本和一堆依赖项将自行提取)
brew install termtosvg
这里是手册, 这里是渲染的预定义主题的完整列表。 所有这些都是在Python中进行的,因此,如果不需要控制台动画,则至少可以阅读有趣的资源。
算法集合
Python中的算法 。 这个仓库已经被很多人看到,并且众所周知-在github上有将近50,000星。 在纯Python中实现一束经典算法的实现-图形,数学,加密,协议,网络路由和许多其他功能。
很少有人会在日常工作中需要此工具,但对于一般开发或准备与可以为您提供二叉树的公司面试的公司的面试,这将非常有用。
不仅可以使用pet实现,还可以使用其他语言 。
冰淇淋

似乎功能强大的代码的调试和监视工具已经完成,并且可以满足开发人员的所有需求-调试器,日志收集器,错误监视,度量收集器。
但是有时候,工程师不得不打乱旧的老式print()
代码以弄清楚发生了什么。
if something: print(1) operation_one() else: print(2) operation_two()
调试方法是有争议的,肮脏的,有效的,并不适合所有人。 对于此类爱好者,有一个pycodib库冰淇淋 (以及C ++,Node.JS,Rust,Dart和PHP的实现)。
现在你可以写
from icecream import ic def foo(): ic() first() if expression: ic() second() else: ic() third()
并获得调试代码,例如
ic| example.py:4 in foo() ic| example.py:11 in foo()
为了纯粹通过这种方法进行调试,我个人将其打孔,但可以进行某些修改。 这个库中还有其他可能有用的东西:
- 快速,轻松地存放输入参数和函数结果的能力。
- 使用不同的前缀和数据定制输出。
- 挂起您的自定义函数以处理调试消息的输出。
如果将所有这些巧妙地与不同的标志(从调试模式切换到生产模式)组合在一起,那么事实证明这是一件很明智的事情,它将告诉您代码中发生的一切。