Python - Error 'unbound method'

   
Vista:

Error 'unbound method'

Publicado por Diego (3 intervenciones) el 19/05/2016 16:20:10
Estoy haciendo una práctica que consiste en codificar y decodificar un mensaje de acuerdo a una 'rejilla', entendiendo que el texto codificado se escribe en una matriz. Bien, dentro de la clase 'Rejilla' (que recibe como parámetros size(longitud del ladode la matriz) y gaps(lista de los huecos de la rejilla)), debo crear dos funciones save y load_from_file.
La primera me permite guardar la lista gaps en un fichero(he elegido que sea de extensión txt), y la siguiente ha de cargar esta lista. Pero claro, esta función load_from_file ha de devolverme una rejilla Rejilla(size,gaps). Tengo perfectamente programado la clase rejilla sin necesidad de crear estas dos funciones, simplemente con decir r = Rejilla(size,gaps) funciona, pero si no hago estas dos funciones no me aprueban la práctica. ¿Cómo puedo hacerlo? Me da error con lo que he hecho hasta ahora.

Captura

Captura2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jorge De Los Santos

Error 'unbound method'

Publicado por Jorge De Los Santos (54 intervenciones) el 19/05/2016 18:10:34
Te falta agregarle el parámetro self a tu método load_from_file , tal como lo tienes en el método save .


Saludos.

Jorge De Los Santos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 'unbound method'

Publicado por Diego (3 intervenciones) el 19/05/2016 18:16:51
Buenas Jorge;

En la descripcion de la práctica pone que la función load_from_file sólo ha de tener el parámetro'filename'

Si crees que aún así es necesario, no dudes en comentarlo.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge De Los Santos

Error 'unbound method'

Publicado por Jorge De Los Santos (54 intervenciones) el 19/05/2016 20:26:57
Ah ya, creo que habías omitido esa parte en la descripción.

Lo que puedes hacer es declarar que el método load_from_file es un método estático, para ello puedes utilizar el decorador @staticmethod.

Algo como:

1
2
3
@staticmethod
def load_from_file(filename):
    # ...


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 'unbound method'

Publicado por Diego (3 intervenciones) el 19/05/2016 20:37:03
Muchas gracias Jorge, ya funciona correctamente.
Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar