You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IPython中dir()输出的_、_1、_i等自动生成变量是什么?

IPython中dir()输出的_、_1、_i等自动生成变量是什么?

嘿,这事儿我太熟啦!这些带下划线的变量全是IPython贴心给你自动生成的,专门用来帮你在交互式编程里快速复用之前的输入和输出,简直是提升效率的小神器~我给你逐个拆解清楚:

输出结果类变量

  • _:最近一次执行代码的输出结果。比如你刚运行3*7得到21,直接敲_就能拿到21,不用再重复计算一遍。
  • _12、_13这类带数字的:数字对应历史输出的编号,_12就是你第12次执行代码得到的输出结果,IPython会帮你记录最近一批输出,方便回溯调用。
  • __ 和 ___:分别指代倒数第二次、倒数第三次的输出结果,属于快捷版的历史输出,懒得记具体编号的时候用这个超省心。

输入代码类变量

  • _i:最近一次执行的输入代码内容。比如你刚敲了print("IPython好用!"),_i里就存着这段字符串。
  • _i1、_i2这类带数字的:对应第几次输入的代码,_i5就是你第5次输入并执行的代码。要是想重新执行这段代码,直接跑exec(_i5)就行。
  • _ih:这是个列表,里面存着你所有的历史输入代码,用索引就能访问,比如_ih[0]就是你第一次输入的内容。
  • _ii 和 _iii:分别是倒数第二次、倒数第三次的输入代码,和输出类的__、___对应,临时复用前几次的输入特别方便。

历史记录容器

  • _oh:这是个字典,键是输出的编号,值是对应的输出结果,比如_oh[12]和_12是同一个东西,用它可以更系统地查看和管理所有历史输出。

这些变量都是IPython默认开启的功能,不用自己定义,完全是为了让交互式编程更顺手才存在的~

备注:内容来源于stack exchange,提问作者ggupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 14:38:06