import numpy as np
#定义 Tensor 类定义了一个名为 Tensor 的类,它继承自 object,在 Python 3 中,所有类默认继承自 object,
#所以这里的 object 可以省略。
class Tensor(object):
#__init__ 方法
# 这是一个特殊方法,用于重载加法运算符 +。当对两个 Tensor 类的实例使用 + 运算符时,会调用这个方法。
# 它将两个实例的 data 属性(即 numpy 数组)进行相加,并将结果封装成一个新的 Tensor 实例返回。
def __init__(self, data):
self.data = np.array(data)
def __add__(self, other):
return Tensor(self.data + other.data)
#__repr__ 方法
#__repr__ 方法用于返回对象的字符串表示形式,通常用于调试和开发环境中。
# 这里返回 self.data 的 __repr__ 方法的结果,并将其转换为字符串。
def __repr__(self):
return str(self.data.__repr__())
#__str__ 方法
# __str__ 方法用于返回对象的字符串表示形式,通常用于用户友好的输出。
# 这里返回 self.data 的 __str__ 方法的结果,并将其转换为字符串。
def __str__(self):
return str(self.data.__str__())
x = Tensor([1, 2, 3, 4, 5])
print(x)
y = x + x
print(y)
'''
运行结果:
[1 2 3 4 5]
[ 2 4 6 8 10]
'''