在 Python 上将 `1+1==3`​​ 变为 return True

Turn `1+1==3` to return True on Python

奇怪的问题:我希望这个表达式为真。 1+1==3,虽然我知道不是:).

if 1+1==3: 
    print("This is True...")

我知道我可以通过创建 class(比方说 a)并重载它的 __add__ 函数来实现,但它需要我编写 a(1)+a(1)==3

我可以不写额外的代码吗(当然我可以前后写代码,但上面的行将保持原样)?

我根据@ddulaney 的建议设法做到了:创建我自己的编解码器 my_true 并编写我自己的 decode 函数。

我有 3 个文件:

  1. register.py:
import codecs, io, encodings
from encodings import utf_8

def my_true_decode(input, errors="strict"):
    raw = bytes(input).decode("utf-8")
    code = raw.replace('1+1==3','1+1==2')
    return code, len(input)

def search_function(encoding):
    if encoding != "my_true":
        return None
    utf8 = encodings.search_function("utf8")
    return codecs.CodecInfo(
        name="my_true",
        encode=utf8.encode,
        decode=my_true_decode,
    )

codecs.register(search_function)
  1. script.py:
# coding: my_true
if 1+1==3: 
    print("This is True...")
  1. run.py:
import register
import script

现在运行python3 run.py

输出为This is True...