我最近了解到python shell 中的内置变量_,它的用途是存储最后的控制台答案。例如:
>>> 4 + 7
11
>>> _
11
>>> Test = 4
>>> Test + 3
7
>>> _
7
作为一名长期的 TI-Basic 程序员,我更愿意将此变量视为 Ans 而不是 _。 (是的,我知道这只是个人喜好,但无论如何这是一个有趣的问题。)
问题:如何设置我的 Ans 变量,使其值始终与_变量?
它并不像执行 Ans = _ 那样简单,正如这个 shell 日志所示:
>>> "test string"
'test string'
>>> _
'test string'
>>> Ans = _
>>> Ans
'test string'
>>> list('Other String')
['O', 't', 'h', 'e', 'r', ' ', 'S', 't', 'r', 'i', 'n', 'g']
>>> _
['O', 't', 'h', 'e', 'r', ' ', 'S', 't', 'r', 'i', 'n', 'g']
>>> Ans
'test string'
请您参考如下方法:
我推荐“习惯它”选项,但如果你真的想摆弄这个,你可以自定义 sys.displayhook ,负责设置_的函数:
import builtins
import sys
def displayhook(value):
if value is not None:
# The built-in displayhook is a bit trickier than it seems,
# so we delegate to it instead of inlining equivalent handling.
sys.__displayhook__(value)
builtins.Ans = value
sys.displayhook = displayhook
