在 python 解释器中用局部变量屏蔽后如何取消屏蔽变量 _ in python
How to unmask the variable _ in python once it is masked with local variable in python interpreter
我正在启动 python 并在 python 解释器中进行一些计算,计算结果存储在只读内置变量 _
中。但是,当我声明一个名称为 _
的变量时,较早的那个被屏蔽了。现在结果不存储在 _
中。我如何取消屏蔽它。看我给的例子
在否决投票之前,尝试理解问题
>>> 3+5
8
>>> _
8
>>>_ = 3
>>> 4*3
12
>>>4+4
8
>>> _
3
从这次开始,计算结果不再存储在_
问题是如何将评估结果存储在 _
之后
谢谢@Matthias,你回答了我的问题del
>>> del _
同一个变量不能用于多个事物。如果你重新声明它,你将失去以前的价值。不要使用 _
两次,而是使用两个不同的变量名。
在 REPL 中,_
是一个 shorthand,它将自动存储最后计算的值,除非您明确分配给它。
解决办法是:
(Good) 不要一开始就明确分配给它。它违反了使用 _
来表示您不关心但必须分配的值的惯例,例如:
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
我正在启动 python 并在 python 解释器中进行一些计算,计算结果存储在只读内置变量 _
中。但是,当我声明一个名称为 _
的变量时,较早的那个被屏蔽了。现在结果不存储在 _
中。我如何取消屏蔽它。看我给的例子
在否决投票之前,尝试理解问题
>>> 3+5
8
>>> _
8
>>>_ = 3
>>> 4*3
12
>>>4+4
8
>>> _
3
从这次开始,计算结果不再存储在_
问题是如何将评估结果存储在 _
之后
谢谢@Matthias,你回答了我的问题del
>>> del _
同一个变量不能用于多个事物。如果你重新声明它,你将失去以前的价值。不要使用 _
两次,而是使用两个不同的变量名。
在 REPL 中,_
是一个 shorthand,它将自动存储最后计算的值,除非您明确分配给它。
解决办法是:
(Good) 不要一开始就明确分配给它。它违反了使用
_
来表示您不关心但必须分配的值的惯例,例如: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