Repolode
gruns

gruns/icecream

Python 调试工具,用 ic() 替代 print(),同时输出变量名、表达式及其值,并支持格式化和语法高亮。

Star
10,109
Fork
235
未关闭 Issue
77
最近提交
前天

这是什么?

IceCream 是一个 Python 调试库,核心是 ic() 函数,用来替代 print() 输出调试信息。传入变量或表达式时,ic() 会同时打印源代码文本和对应的值,无需手动写标签。数据结构会被格式化输出,并带有语法高亮。

不带参数调用 ic() 时,它会输出调用所在的文件名、行号和父函数名,适合用来追踪代码实际执行的分支和顺序。ic() 会原样返回传入的参数,因此可以直接包裹已有表达式而不改变程序行为。ic.disable() 和 ic.enable() 可以统一关闭或开启输出。

输出前缀、输出位置以及值的序列化方式都可以通过 configureOutput 自定义,也能为特定类型注册格式化函数。该库支持 Python 3 和 PyPy3,ic.format() 可以把输出以字符串返回,便于接入日志系统。

核心功能

  • 01同时输出变量或表达式的源代码文本及其值。
  • 02对数据结构进行格式化输出并带语法高亮。
  • 03无参数调用时输出所在文件、行号和父函数。
  • 04返回传入的参数,可直接插入已有代码。
  • 05支持全局开启或关闭输出,也可安装到 builtins 中全局使用。
  • 06输出前缀、输出位置和值的格式化方式均可配置。

适用场景

  • 调试 Python 脚本时快速查看变量值。
  • 追踪代码分支或函数的执行顺序。
  • 通过 ic.format() 将调试输出接入日志系统。
  • 保留调试语句,并在生产环境中用 disable() 关闭输出。

快速上手

  1. 1

    使用 pip 安装 IceCream

    pip install icecream
  2. 2

    导入 ic,对变量或表达式调用即可输出其名称和值

标签

常见问题

icecream 是什么?
Python 调试工具,用 ic() 替代 print(),同时输出变量名、表达式及其值,并支持格式化和语法高亮。 IceCream 是一个 Python 调试库,核心是 ic() 函数,用来替代 print() 输出调试信息。传入变量或表达式时,ic() 会同时打印源代码文本和对应的值,无需手动写标签。数据结构会被格式化输出,并带有语法高亮。
icecream 可以免费使用吗?用的什么许可证?
icecream 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
icecream 还在维护吗?
活跃维护中。icecream 最近一次提交是在 2026年10月19日。
icecream 适合用来做什么?
调试 Python 脚本时快速查看变量值。 追踪代码分支或函数的执行顺序。 通过 ic.format() 将调试输出接入日志系统。 保留调试语句,并在生产环境中用 disable() 关闭输出。
icecream 怎么安装和运行?
使用 pip 安装 IceCream: pip install icecream 导入 ic,对变量或表达式调用即可输出其名称和值
在哪里获取 icecream?
源代码和安装说明在 GitHub 上:https://github.com/gruns/icecream

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目