首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以创建属性(只读!)它使用@property修饰符返回矩阵或向量的大小?

是否可以创建属性(只读!)它使用@property修饰符返回矩阵或向量的大小?
EN

Stack Overflow用户
提问于 2021-04-24 21:25:42
回答 1查看 25关注 0票数 0

正如问题中所述,我想知道如何(如果可以)创建一个给出矩阵大小的属性,但我想用property装饰器来实现。

在这个例子中,可以使用这样的装饰器吗?

代码语言:javascript
运行
复制
class Matrix:
    def __init__(self, m, n, init=True):
        if init:
            self.rows = [[0] * n for x in range(m)]
        else:
            self.rows = []
        self.m = m
        self.n = n


    def __getitem__(self, idx):
        return self.rows[idx]

    def __setitem__(self, idx, item):
        self.rows[idx] = item

我还在探索它的语法,我想要一些关于这方面的建议。

EN

Stack Overflow用户

回答已采纳

发布于 2021-04-25 22:06:35

你想要做的很简单--教科书上的琐事--所以不清楚你想要什么“建议”。堆栈溢出并不是为了替换现有的教程或文档。参见How much research effort is expected of Stack Overflow users?

代码语言:javascript
运行
复制
class Matrix:
    def __init__(self, m, n, init=True):
        if init:
            self.rows = [[0] * n for x in range(m)]
        else:
            self.rows = []
        self.m = m
        self.n = n

    def __getitem__(self, idx):
        return self.rows[idx]

    def __setitem__(self, idx, item):
        self.rows[idx] = item

    @property
    def size(self):
        return self.m * self.n


if __name__ == '__main__':

    mat = Matrix(3, 3)
    print(mat.size)  # -> 9
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67243263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档