正如问题中所述,我想知道如何(如果可以)创建一个给出矩阵大小的属性,但我想用property
装饰器来实现。
在这个例子中,可以使用这样的装饰器吗?
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
我还在探索它的语法,我想要一些关于这方面的建议。
发布于 2021-04-25 22:06:35
你想要做的很简单--教科书上的琐事--所以不清楚你想要什么“建议”。堆栈溢出并不是为了替换现有的教程或文档。参见How much research effort is expected of Stack Overflow users?。
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
https://stackoverflow.com/questions/67243263
复制相似问题