Python - dudas con atributos objetos

 
Vista:

dudas con atributos objetos

Publicado por Victoria Lopez (3 intervenciones) el 24/11/2011 21:01:25
Hola! tengo una duda.. necesito saber como hago para escribir en python que un atributo de un objeto tiene que ser diferente a ese atributo pero de otro objeto (los dos objetos son de la misma clase). Me dijeron algo de la funcion __eq__ pero no entiendo mucho, alguien me puede explicar?? mil 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

dudas con atributos objetos

Publicado por xve (1646 intervenciones) el 26/11/2011 10:21:51
Hola Victoria eq significa equal
Cuando comparas dos clases, ejecutas la función __eq__ de la clase... te pongo un ejemplo que he copiado de internet...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A(object):
    def __eq__(self, other):
        print "A __eq__ called: %r == %r ?" % (self, other)
        return self.value == other
class B(object):
    def __eq__(self, other):
        print "B __eq__ called: %r == %r ?" % (self, other)
        return self.value == other
 
a = A()
a.value = 3
b = B()
b.value = 4
a == b

Comentame si con esto te vale, 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

dudas con atributos objetos

Publicado por Victoria Lopez (3 intervenciones) el 29/11/2011 19:35:44
creo que entendi tu ejemplo, pero en ese caso se trata de 2 clases.

La clase que yo tengo es:


class secuencia:
def __init__(self, identsecuencia="Sin identificador", descripsecuencia="Sin descripcion", datos="Sin datos"):

El atributo "identsecuencia" no pueden ser iguales y tengo que escribir el codigo de forma que no me permita que dos objetos tengan el mismo atributo, osea el mismo identsecuencia.

En el ejemplo que me diste hay dos clases, y en el mio hay una sola clase.. no se si me explico..

Muchas 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