
__getitem__
Publicado por Guillermo (12 intervenciones) el 06/06/2017 17:58:01
Según tengo entendido, hablando sobre python 2.7, el método mágico __getitem__ se utiliza para añadir a una clase la opción de poder ser indexado al llamarlo a un objeto directamente. Pongo el siguiente ejemplo:
Este código me permite imprimir en consola el valor u[1], que es 2.
Mi duda es, ¿se puede utilizar este método de alguna forma para que se usen dos coeficientes en una matriz bidimensional?. Es decir, yo tengo el objeto matriz y quiero acceder de forma directa a uno de sus componentes:
Este código da error, ¿como podría hacerlo?
1
2
3
4
5
6
7
8
9
10
class vector(object):
def __init__(self, vector):
self.vector=vector
def __getitem__(self,n):
return self.vector[n]
u=vector([1,2,3])
print (u[1])
Este código me permite imprimir en consola el valor u[1], que es 2.
Mi duda es, ¿se puede utilizar este método de alguna forma para que se usen dos coeficientes en una matriz bidimensional?. Es decir, yo tengo el objeto matriz y quiero acceder de forma directa a uno de sus componentes:
1
2
3
4
5
6
7
8
9
10
class matriz(object):
def __init__(self,matriz):
self.matriz=matriz
def __getitem__(self, i, j):
return self.matriz[i][j]
A=matriz([[1,1,1],[1,1,1],[1,1,1]])
print (A[1][2])
Este código da error, ¿como podría hacerlo?
Valora esta pregunta


0