gpt4 book ai didi

python - 使用 python 添加两个自定义数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:35 24 4
gpt4 key购买 nike

class MyInt(object) :

# I'm trying to add two custom types (MyInt) together
# and have the sum be the same type. (MyInt)
# What am I doing wrong?

def __init__(self, x):
self.x = x

def __add__(self,other):
return self.x + other

a = MyInt(1)

b = MyInt(1)

print a + 1 # ----> 2

print type(a) # ----> "class '__main__.MyInt'

#c = a + b # this won't work

#print a + b # this won't work

最佳答案

__add__有错误,应该是:

def __add__(self,other):
return MyInt(self.x + other.x)

然后,您可以添加 MyInt 实例:

a = MyInt(1)
b = MyInt(1)

c = a + b
print type(c) # prints <class '__main__.MyInt'>
print c.x # prints 2

请注意,a + 1 将不起作用,因为 1 不是 MyInt 的类型。如果你想支持它,你需要改进你的 __add__ 方法并定义在不同类型的 other 参数的情况下如何表现。

关于python - 使用 python 添加两个自定义数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com