使用这个开源工具来监控 Python 中的变量 Watchpoints 是一个简单但功能强大的工具,可以帮助你在调试 Python 时监控变量。 在调试代码时,你经常面临着要弄清楚一个变量何时发生变化。如果没有任何高级工具,那么可以选择使用打印语句在期望它们更改时输出变量。然而,这是一种非常低效的方法,因为变量可能在很多地方发生变化,并且不断地将其打印到终端上会产生很大的干扰,而将它们打印到日志文件中则变得很麻烦。 这是一个常见的问题,但现在有 linux中国 2024-07-17 竹子爱熊猫
为什么我喜欢使用 IPython shell 和 Jupyter 笔记本 Jupyter 笔记本将 IPython shell 提升到一个新的高度。 Jupyter 项目最初是以 IPython 和 IPython 笔记本的形式出现的。它最初是一个专门针对 Python 的交互式 shell 和笔记本环境,后来扩展为不分语言的环境,支持 Julia、Python 和 R 以及其他任何语言。 IPython 是一个 Python shell,类似于你在命令行输入 pyth linux中国 2024-07-17 穿过生命散发芬芳
用一个开源工具实现多线程 Python 程序的可视化 VizTracer 可以跟踪并发的 Python 程序,以帮助记录、调试和剖析。 并发是现代编程中必不可少的一部分,因为我们有多个核心,有许多需要协作的任务。然而,当并发程序不按顺序运行时,就很难理解它们。对于工程师来说,在这些程序中发现 bug 和性能问题不像在单线程、单任务程序中那么容易。 在 Python 中,你有多种并发的选择。最常见的可能是用 threading 模块的多线程,用subp linux中国 2024-07-17 三掌柜
使用 C 优化你的 Python 代码 Cython 创建的 C 模块可以加速 Python 代码的执行,这对使用效率不高的解释型语言编写的复杂应用是很重要的。 Cython 是 Python 编程语言的编译器,旨在优化性能并形成一个扩展的 Cython 编程语言。作为 Python 的扩展,Cython 也是 Python 语言的超集,它支持调用 C 函数和在变量和类属性上声明 C 类型。这使得包装外部 C 库、将 C 嵌入现有应用程 linux中国 2024-07-17 Escape
硬核观察 | Python 之父要在 Python 3.11 中将速度翻倍 Python 之父要在 Python 3.11 中将速度翻倍 在本周的美国 PyCon 语言峰会上,Python 之父 Guido 发布的一份文件,详细介绍了他要使 Python 成为一种更快的语言的野心,他承诺在 Python 3.11 中使其速度翻倍。 不过,Guido 也不敢保证一定能达成目标,只是乐观地感觉有希望。如果真的能实现,主要受益者将是那些运行 CPU 密集型纯 Python 代码 linux中国 2024-07-17 张二河
使用 requests 访问 Python 包索引(PyPI)的 JSON API PyPI 的 JSON API 是一种机器可直接使用的数据源,你可以访问和你浏览网站时相同类型的数据。 PyPI(Python 软件包索引)提供了有关其软件包信息的 JSON API。本质上,它是机器可以直接使用的数据源,与你在网站上直接访问是一样的的。例如,作为人类,我可以在浏览器中打开 Numpy 项目页面,点击左侧相关链接,查看有哪些版本,哪些文件可用以及发行日期和支持的 Python 版本 linux中国 2024-07-17 共饮一杯
你使用过 Python 3.6 中针对文件系统的这个神奇方法吗? 探索 os.fspath 和其他两个未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章中的第七篇。Python 3.6 首次发布于 2016 年,尽管它已经发布了一段时间,但它引入的许多特性都没有得到充分利用,而且相当酷。下面是其中的三个。 分隔数字常数 快回答哪个更大,10000000 还是 200000?你在看代码时能正确回答吗?根据当地的习惯,在写作 linux中国 2024-07-17 三掌柜
Python 3.5 带给我们的方便的矩阵以及其他改进 探索一些未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第六篇。Python 3.5 在 2015 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。 @ 操作符 @ 操作符在 Python 中是独一无二的,因为在标准库中没有任何对象可以实现它!它是为了在有矩阵的数学包中使用而添加的。 矩阵有两个乘 linux中国 2024-07-17 法医
回顾一下 Python 3.4 中的枚举 另外探索一些未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第五篇。Python 3.4 在 2014 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。 枚举 我最喜欢的逻辑谜题之一是自我描述的 史上最难的逻辑谜题。在其中,它谈到了三个“神”,他们被称为 A、B 和 C,他们的身份是真、假和随机, linux中国 2024-07-17 贤蛋大眼萌
Python 3.3 为改进代码中的异常处理所做的工作 探索异常处理和其他未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第四篇。Python 3.3 于 2012 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有得到充分利用,而且相当酷。下面是其中的三个。 yield from yield 关键字使 Python 更加强大。可以预见的是,人们都开始使用它来创建整个迭代器的生态系统。itert linux中国 2024-07-17 共饮一杯
3 个到今天仍然有用的 Python 3.2 特性 探索一些未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章中的第三篇。其中一些 Python 版本已经推出了一段时间。例如,Python 3.2 是在 2011 年首次发布的,但其中引入的一些很酷、很有用的特性仍然没有被使用。下面是其中的三个。 argparse 子命令 argparse 模块首次出现在 Python 3.2 中。有许多用于命令行解析的第三 linux中国 2024-07-17 竹子爱熊猫
3 个值得使用的在 Python 3.1 中发布的特性 探索一些未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第二篇。Python 3.1 于 2009 年首次发布,尽管它已经发布了很长时间,但它引入的许多特性都没有被充分利用,而且相当酷。下面是其中的三个。 千位数格式化 在格式化大数时,通常是每三位数放置逗号,使数字更易读(例如,1,048,576 比 1048576 更容易读)。从 Python 3. linux中国 2024-07-17 三掌柜
硬核观察 | Python 之父对 Rust、Go、Julia 和 TypeScript 的看法 Python 之父对 Rust、Go、Julia 和 TypeScript 的看法 Python 之父 Guido 在最近一次新采访中分享了他对其它编程语言的看法,其中有些很有趣: Rust 在一个特定的领域真正改进了 C++,它使绕过编译器的检查变得更加困难。当然,它以一种近乎完美的方式解决了内存分配问题。 在所有的新语言中,Go 可能是最像 Python 的 —— 或者至少是在通用的新语言中。 linux中国 2024-07-17 贤蛋大眼萌
3 个值得使用的首次亮相在 Python 3.0 中的特性 探索一些未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第一篇。Python 3.0 于 2008 年首次发布,尽管它已经发布了一段时间,但它引入的许多特性都没有被充分利用,而且相当酷。这里有三个你应该知道的。 仅限关键字参数 Python 3.0 首次引入了仅限关键字参数参数的概念。在这之前,不可能指定一个只通过关键字传递某些参数的 API。这在有许 linux中国 2024-07-17 向阳逐梦
Python 3.9 如何修复装饰器并改进字典 探索最近版本的 Python 的一些有用的特性。 这是 Python 3.x 首发特性系列文章中的第十篇,其中一些版本已经发布了一段时间。Python 3.9 在 2020 年首次发布,具有很酷的新特性,但仍未被充分利用。下面是其中的三个。 添加字典 假设你有一个 defaults 字典,而你想更新它的参数。在 Python 3.9 之前,最好的办法是复制 defaults 字典,然后使用 .up linux中国 2024-07-17 张二河
用 Python 3.8 中的这个位置技巧让你的 API 变得更好 探索只接受位置参数和其他两个未被充分利用但仍然有用的 Python 特性。 这是 Python 3.x 首发特性系列文章的第九篇。Python 3.8 于 2019 年首次发布,两年后,它的许多很酷的新特性仍然没有被使用。下面是其中的三个。 importlib.metadata 入口点 在 Python 包中被用来做各种事情。大多数人熟悉的是 console_scripts 入口点,不过 Pyth linux中国 2024-07-17 爱可生开源社区
用这个 Python 3.7 的特性来切片无限生成器 了解更多关于这个和其他两个未被充分利用但仍然有用的 Python 特性。 这是关于 Python 3.x 首发特性系列文章的第八篇。Python 3.7 于 2018 年首次发布,尽管它已经发布了几年,但它引入的许多特性都未被充分利用,而且相当酷。下面是其中的三个。 注解推迟评估 在 Python 3.7 中,只要激活了正确的 __future__ 标志,注解在运行时就不会被评估: from __ linux中国 2024-07-17 大树
使用 Python 来解决慈善机构的业务问题 比较不同的编程语言如何解决同一个问题是一个很有趣的事情,也很有指导意义。接下来,我们就来讲一讲如何用 Python 来解决。 在我这一系列的 第一篇文章 里,我描述了这样子的一个问题,如何将一大批的救助物资分为具有相同价值的物品,并将其分发给社区中的困难住户。我也曾写过用不同的编程语言写一些小程序来解决这样子的小问题以及比较这些程序时如何工作的。 在第一篇文章中,我是使用了 Groovy 语言来解 linux中国 2024-07-17 向阳逐梦
Fedora Linux 中的 Python 3.10 测试版 Python 开发者已经发布了 Python 3.10.0 的三个测试版本。现在,你可以在 Fedora Linux 中试用最新的版本尽早用 3.10 测试你的 Python 代码,为 10 月份的 3.10.0 最终版本做好准备。 在 Fedora Linux 上安装 Python 3.10 如果你运行 Fedora Linux,你可以用 dnf 从官方仓库安装 Python 3.10: $ s linux中国 2024-07-17 竹子爱熊猫
为什么我们要开源我们的 Python 平台 开源开发的理念使得 Anvil 的整个解决方案更加有用且值得信赖。 Anvil 团队最近开源了 Anvil App Server, 一个用于托管完全用 Python 构建的 Web 程序的运行时引擎。 社区的反应十分积极,我们 Anvil 团队已经将许多反馈纳入了我们的 下一个版本。但是我们不断被问到的问题是,“为什么你们选择开源这个产品的核心呢?” 我们为何创造 Anvil Anvil 是一个可 linux中国 2024-07-17 竹子爱熊猫