在python解释器中用局部变量屏蔽变量后,如何在python中取消屏蔽该变量
我正在启动python并在python解释器中进行一些计算,计算结果存储在只读的内置变量在python解释器中用局部变量屏蔽变量后,如何在python中取消屏蔽该变量,python,variables,interpreter,Python,Variables,Interpreter,我正在启动python并在python解释器中进行一些计算,计算结果存储在只读的内置变量\uuu中。但是,当我声明了一个名为\uu的变量时,前面的变量被屏蔽了。现在,结果不会存储在中。我如何解开它。看到我举的例子了吗 在否决投票之前,试着理解这个问题 从此时起,计算结果将不会存储在\uuu 问题是如何获得评估结果,然后将其存储在\uu中 谢谢@Matthias,您回答了我的问题,使用了del >>> del _ 不能将同一变量用于多个对象。如果重新声明,将丢失以前的值。使用两
\uuu
中。但是,当我声明了一个名为\uu
的变量时,前面的变量被屏蔽了。现在,结果不会存储在中。我如何解开它。看到我举的例子了吗
在否决投票之前,试着理解这个问题
从此时起,计算结果将不会存储在\uuu
问题是如何获得评估结果,然后将其存储在\uu
中
谢谢@Matthias,您回答了我的问题,使用了del
>>> del _
不能将同一变量用于多个对象。如果重新声明,将丢失以前的值。使用两个不同的变量名,而不是两次使用。在REPL中是一种速记,它将自动存储上次计算的值,除非您明确指定给它
解决办法是:
- (好)不要一开始就明确指定给它。这违反了使用
\uuu
表示您不关心但必须指定的值的惯例,例如:
value_you_want, _ = function_that_returns_a_2_tuple()
使用一个好的、有意义的变量名
- (Bad)您可以使用
del
删除显式创建的
,然后它将再次自动获取最后一个计算值
>>> 1 + 1
2
>>> _
2
>>> _ = 1
>>> _
1
>>> 2 + 2
4
>>> _
1
>>> del _
>>> 2 + 2
4
>>> _
4
这是一个内置变量,问题是如何取消屏蔽?@TheScientificMethod“取消屏蔽”是什么意思?在REPL中,它只是对上一次评估的结果的简写value@DeepSpace该属性现在被屏蔽了,因为问题是如何将其返回显式:\uu
不是内置变量。也许你只是想要del.
。就像我说的:del.
。为我工作。或者重新启动IDE。无论如何,为什么要使用
?按照惯例,解包您不感兴趣的值时使用\u
,例如,解包您想要的值,\u返回的\u a\u 2\u tuple()
@DeepSpace我正在试验,想要解包如果您谈论的是REPL,则不清楚“解包”是什么意思。在REPL中,\uu
只是对上一次评估值的简写。请提供一个示例,证明您没有记住,如果您明确执行\u=1
,则\u
不会自动更新,这让我回到了第一条评论:你不应该使用。
,因为这是一个你不关心的值的惯例。很明显,您关心这个值,所以不要使用。
谢谢,但您没有回答我的问题,我的问题是如何获得它back@The科学方法,,你想得到什么?@你问的科学方法问题是如何获得评估结果,然后将其存储在u中
我的答案完全回答了这个问题question@actulalyMatthias回答了我的问题,使用del
,感谢您的支持efforts@TheScientificMethod你看了全部答案了吗?它还提到了del
>>> 1 + 1
2
>>> _
2
>>> _ = 1
>>> _
1
>>> 2 + 2
4
>>> _
1
>>> del _
>>> 2 + 2
4
>>> _
4