Python:以类似dict的方式直接访问属性

时间:2016-11-22 13:57:55

标签: python oop numpy attributes

我有一个处理Numpy矩阵和一些额外信息的类。

Controllers

矩阵名为,要访问它,我写道:

import numpy as np

class MyClass:
    def __init__(self, v):
        self.values = v

plop = MyClass(np.matrix([[1, 2], [3, 4]]))

是否可以直接访问它?我的意思是,做:

plop.values[1, 1]  # Returns 4

我看到了this post,但它认为此解决方案仅允许plop[1, 1] # Should returns 4 too 的一个级别。

谢谢!

2 个答案:

答案 0 :(得分:4)

只需将此方法添加到您的课程

def __getitem__(self, indices):
    return self.values[indices]

另外,如果有机会,了解__getitem__切片对象的工作方式

会很有用

答案 1 :(得分:-1)

我认为你可以直接访问它。

plop = np.matrix([[1,2],[3,4]])

情节[1,1]