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
相关产品推荐
相关产品推荐

