所以我要做的是创建一个类来包装int,并允许一些int类型通常不允许的事情。我真的不在乎它是不是Python或w/e我只是在寻找结果。这是我的代码:
^{1}$结果是。在
^{pr2}$所以,第一个print语句运行得很好,并且给出了我所期望的结果,但是第二个语句给出了一个错误。我认为这是因为第一个函数使用了tInt的add函数,因为a出现在+“5”之前;第二个函数首先使用字符串“5”的add函数,因为它首先出现。我知道这一点,但我真的不知道如何强制a的add函数,或者允许将tInt类表示为string/int/等等。。当正常类型在操作中出现在它前面时。在
您需要实现一个
__radd__
方法来处理当类的实例位于加法的右侧时的情况。在docs说:
示例:
正如@chepner在注释中指出的那样,如果您的方法无法处理返回NotImplemented,则会导致Python尝试其他方式执行该操作,或者在无法执行请求的操作时引发TypeError。在
相关问题 更多 >
编程相关推荐