Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python解释器中用局部变量屏蔽变量后,如何在python中取消屏蔽该变量_Python_Variables_Interpreter - Fatal编程技术网

在python解释器中用局部变量屏蔽变量后,如何在python中取消屏蔽该变量

在python解释器中用局部变量屏蔽变量后,如何在python中取消屏蔽该变量,python,variables,interpreter,Python,Variables,Interpreter,我正在启动python并在python解释器中进行一些计算,计算结果存储在只读的内置变量\uuu中。但是,当我声明了一个名为\uu的变量时,前面的变量被屏蔽了。现在,结果不会存储在中。我如何解开它。看到我举的例子了吗 在否决投票之前,试着理解这个问题 从此时起,计算结果将不会存储在\uuu 问题是如何获得评估结果,然后将其存储在\uu中 谢谢@Matthias,您回答了我的问题,使用了del >>> del _ 不能将同一变量用于多个对象。如果重新声明,将丢失以前的值。使用两

我正在启动python并在python解释器中进行一些计算,计算结果存储在只读的内置变量
\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