Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用 pip、pipenv 等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。与其他工具不同,Poetry 只
Watchpoints 是一个简单但功能强大的工具,可以帮助你在调试 Python 时监控变量。在调试代码时,你经常面临着要弄清楚一个变量何时发生变化。如果没有任何高级工具,那么可以选择使用打印语句在期望它们更改时输出变量。然而,这是一种非常低效的方法,因为变量可能在很多地方发生变化,并且不断地将其
Jupyter 笔记本将 IPython shell 提升到一个新的高度。Jupyter 项目最初是以 IPython 和 IPython 笔记本的形式出现的。它最初是一个专门针对 Python 的交互式 shell 和笔记本环境,后来扩展为不分语言的环境,支持 Julia、Python 和 R 以
VizTracer 可以跟踪并发的 Python 程序,以帮助记录、调试和剖析。并发是现代编程中必不可少的一部分,因为我们有多个核心,有许多需要协作的任务。然而,当并发程序不按顺序运行时,就很难理解它们。对于工程师来说,在这些程序中发现 bug 和性能问题不像在单线程、单任务程序中那么容易。在 Py
Cython 创建的 C 模块可以加速 Python 代码的执行,这对使用效率不高的解释型语言编写的复杂应用是很重要的。Cython 是 Python 编程语言的编译器,旨在优化性能并形成一个扩展的 Cython 编程语言。作为 Python 的扩展,Cython 也是 Python 语言的超集,它
Python 之父要在 Python 3.11 中将速度翻倍在本周的美国 PyCon 语言峰会上,Python 之父 Guido 发布的一份文件,详细介绍了他要使 Python 成为一种更快的语言的野心,他承诺在 Python 3.11 中使其速度翻倍。不过,Guido 也不敢保证一定能达成目标,只
PyPI 的 JSON API 是一种机器可直接使用的数据源,你可以访问和你浏览网站时相同类型的数据。PyPI(Python 软件包索引)提供了有关其软件包信息的 JSON API。本质上,它是机器可以直接使用的数据源,与你在网站上直接访问是一样的的。例如,作为人类,我可以在浏览器中打开 Numpy
探索 os.fspath 和其他两个未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章中的第七篇。Python 3.6 首次发布于 2016 年,尽管它已经发布了一段时间,但它引入的许多特性都没有得到充分利用,而且相当酷。下面是其中的三个。分隔数字常数快回答哪
探索一些未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第六篇。Python 3.5 在 2015 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。@ 操作符@ 操作符在 Python 中是独一无二的
另外探索一些未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第五篇。Python 3.4 在 2014 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。枚举我最喜欢的逻辑谜题之一是自我描述的 史上最难
探索异常处理和其他未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第四篇。Python 3.3 于 2012 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有得到充分利用,而且相当酷。下面是其中的三个。yield fromyield 关键字使
探索一些未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章中的第三篇。其中一些 Python 版本已经推出了一段时间。例如,Python 3.2 是在 2011 年首次发布的,但其中引入的一些很酷、很有用的特性仍然没有被使用。下面是其中的三个。argparse
探索一些未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第二篇。Python 3.1 于 2009 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。千位数格式化在格式化大数时,通常是每三位数放置逗号,
Python 之父对 Rust、Go、Julia 和 TypeScript 的看法Python 之父 Guido 在最近一次新采访中分享了他对其它编程语言的看法,其中有些很有趣:Rust 在一个特定的领域真正改进了 C++,它使绕过编译器的检查变得更加困难。当然,它以一种近乎完美的方式解决了内存分配
探索一些未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第一篇。Python 3.0 于 2008 年首次发布,尽管它已经发布了一段时间,但它引入的许多特性都没有被充分利用,而且相当酷。这里有三个你应该知道的。仅限关键字参数Python 3.0 首次引入了
探索最近版本的 Python 的一些有用的特性。这是 Python 3.x 首发特性系列文章中的第十篇,其中一些版本已经发布了一段时间。Python 3.9 在 2020 年首次发布,具有很酷的新特性,但仍未被充分利用。下面是其中的三个。添加字典假设你有一个 defaults 字典,而你想更新它的参
探索只接受位置参数和其他两个未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第九篇。Python 3.8 于 2019 年首次发布,两年后,它的许多很酷的新特性仍然没有被使用。下面是其中的三个。importlib.metadata入口点 在 Python
了解更多关于这个和其他两个未被充分利用但仍然有用的 Python 特性。这是关于 Python 3.x 首发特性系列文章的第八篇。Python 3.7 于 2018 年首次发布,尽管它已经发布了几年,但它引入的许多特性都未被充分利用,而且相当酷。下面是其中的三个。注解推迟评估在 Python 3.7
比较不同的编程语言如何解决同一个问题是一个很有趣的事情,也很有指导意义。接下来,我们就来讲一讲如何用 Python 来解决。在我这一系列的 第一篇文章 里,我描述了这样子的一个问题,如何将一大批的救助物资分为具有相同价值的物品,并将其分发给社区中的困难住户。我也曾写过用不同的编程语言写一些小程序来解
Python 开发者已经发布了 Python 3.10.0 的三个测试版本。现在,你可以在 Fedora Linux 中试用最新的版本尽早用 3.10 测试你的 Python 代码,为 10 月份的 3.10.0 最终版本做好准备。在 Fedora Linux 上安装 Python 3.10如果你运