定义一个函数,如numpy transpose和inverse

2024-04-20 11:09:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我将定义一个类似于计算逆np.matrix.I的函数:

class matrix:
  def __init__(self, data):
    self.data = data
    self.I = 1.0/data

  def inv(self):
    return 1.0/self.data

if __name__ == '__main__':
  m = matrix(10)
  m.I 

不使用m.inv()就可以得到m.I的计算值吗?你知道吗

In [3]: m.data = 20
In [4]: m.inv()
Out[4]: 0.05
In [5]: m.I
Out[5]: 0.1

Tags: 函数nameinselfdatareturnif定义
1条回答
网友
1楼 · 发布于 2024-04-20 11:09:47

您可以使用property来实现这一点:

class matrix:
  def __init__(self, data):
    self.data = data

  @property
  def I(self):
    return 1.0/self.data

if __name__ == '__main__':
  m = matrix(10)
  print m.I   # 0.1
  m.data = 20
  print m.I   # 0.05

(顺便说一句,我像您一样调用了这个类matrix,但是我更喜欢另一个名称,因为矩阵的逆不是1./data。)

相关问题 更多 >