如何在交互式会话中重置下划线?

4
我已经在Python交互解释器中覆盖了下划线变量_。我如何使下划线重新起作用而不必重新启动解释器?

1
"_"只是一个丢弃的变量或占位符。随着您继续使用它,它的值将被覆盖。 - MattDMo
1
@MattDMo 我本来也以为是这样,但我刚在解释器中尝试了一下,它确实不会在被遮蔽后重写。wjandrea的回答是正确的。 - Silvio Mayolo
在这个上下文中,它实际上是“最后一次评估的结果”,并且作为内置项由交互解释器公开。我写了一个包含解决方案的答案。 - wjandrea
更广泛的相关问题:在Python中,单下划线“_”是内置变量吗? - wjandrea
1个回答

6
del _

全局的_ 会遮盖掉内置的_,因此删除全局变量后又可以访问内置的变量了。


值得注意的是,该方式实际上并未停止工作,只是无法访问。您可以导入builtins模块来访问它:

>>> _ = 'foobar'
>>> 22
22
>>> _
'foobar'
>>> import builtins
>>> 23
23
>>> builtins._
23

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接