在Python中重命名'_'变量

Jak*_*ern 1 python alias

我最近了解_了python shell中的内置变量,其目的是存储最后一个控制台答案.例如:

>>> 4 + 7
11
>>> _
11
>>> Test = 4
>>> Test + 3
7
>>> _
7
Run Code Online (Sandbox Code Playgroud)

作为一名长期的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'
Run Code Online (Sandbox Code Playgroud)

use*_*ica 9

我建议"习惯它"选项,但如果你真的想摆弄这个,你可以自定义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
Run Code Online (Sandbox Code Playgroud)