PDA

Ver la versión completa : ¿Alguien que sepa de Python me puede echar una mano?



Puck2099
25/05/2008, 13:58
Hola,

Estoy haciendo una función en Python y creo que se está riendo de mi...

El caso es que defino lo siguiente:


def borrosifica(a, b, c, d, e):
if e in (b, c):
return 1
if e < a or e > d:
return 0
if e in (a, b):
return (e-a)/(b-a)
if e in (c, d):
return (e-d)/(c-d)

Y luego lo llamo desde otro sitio así:


ze = self.borrosifica(15,5,5,15,7)

Pues bien, el ***** me dice que le paso demasiados parámetros:


TypeError: borrosifica() takes exactly 5 arguments (6 given)

Vamos, que no sé de donde se sacan los 6 argumentos...

¿Alguna idea? :confused:

< - >
Vale, ya sé lo que pasaba, el señor python pasa por defecto el propio objeto como primer parámetro... vaya mierdas de lenguajes que inventan...

ZeNiTRaM
25/05/2008, 14:37
Hola,

Estoy haciendo una función en Python y creo que se está riendo de mi...

El caso es que defino lo siguiente:


def borrosifica(a, b, c, d, e):
if e in (b, c):
return 1
if e < a or e > d:
return 0
if e in (a, b):
return (e-a)/(b-a)
if e in (c, d):
return (e-d)/(c-d)

Y luego lo llamo desde otro sitio así:


ze = self.borrosifica(15,5,5,15,7)

Pues bien, el ***** me dice que le paso demasiados parámetros:


TypeError: borrosifica() takes exactly 5 arguments (6 given)

Vamos, que no sé de donde se sacan los 6 argumentos...

¿Alguna idea? :confused:

< - >
Vale, ya sé lo que pasaba, el señor python pasa por defecto el propio objeto como primer parámetro... vaya mierdas de lenguajes que inventan...
Efectivamente, es por eso, hay que poner como primer parametro "self" (puedes poner otro nombre aunque lo "estandar" es poner self), esto es para que la funcion pueda acceder a cualquier variable u otra función de la clase directamente:

def sumanumero(self):
self.numero = self.numero+1