Python - 2 objetos de una misma clase

 
Vista:
sin imagen de perfil

2 objetos de una misma clase

Publicado por fpr (7 intervenciones) el 14/03/2014 11:09:07
Buenos días, tengo esta duda:
Creo 2 objetos de una clase que llamo "recta", que tiene dos parámetros (m y n). Luego creo una función que imprime los parámetros introducidos del objeto; pero solo me devuelve los datos del último. ¿esto es asi? Me explico mejor poniendo el código:

1
2
3
4
5
6
7
8
9
10
11
12
class recta:
    def __init__(self,m,n):
        print("creado un objeto recta ")
        recta.m=m
        recta.n=n
    def inf(self):          #da informacion de los parametros 
        print("m=",self.m,"n=",self.n)
 
r1=recta(1,3)
r2=recta(-2,0)
r1.inf()
r2.inf()

lo que devuelve es:
1
2
3
4
creado un objeto recta
creado un objeto recta
m= -2 n= 0
m= -2 n= 0

pero yo esperaba esto:
1
2
3
4
creado un objeto recta
creado un objeto recta
m=1 n= 3
m= -2 n= 0

¿Cómo lo consigo?
Un saludo y gracias
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 xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

2 objetos de una misma clase

Publicado por xve (1646 intervenciones) el 14/03/2014 16:16:21
Hola fpr, pero creo que tienes un pequeño error de concepto.

esto: recta.m=m no es lo mismo que esto: self.m=m

Prueba así:
1
2
3
4
5
6
7
8
9
10
11
12
class recta:
    def __init__(self,m,n):
        print("creado un objeto recta ")
        self.m=m
        self.n=n
    def inf(self):          #da informacion de los parametros 
        print("m=",self.m,"n=",self.n)
 
r1=recta(1,3)
r2=recta(-2,0)
r1.inf()
r2.inf()

Coméntanos, ok?
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
sin imagen de perfil

2 objetos de una misma clase

Publicado por fpr (7 intervenciones) el 15/03/2014 09:07:16
Entiendo el fallo; claro, ahooora sí funciona.
Muchas gracias XVE.

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