Re: duda acerca de self como argumento de métodos
Medardo Rodriguez
med.swl en gmail.com
Mar Mayo 27 15:56:42 CEST 2008
2008/5/27 Milton Galo Patricio Inostroza Aguilera <minoztro en gmail.com>:
> La otra duda es que como a través de test accedo al atributo a?...es
> decir hacer test.a?.....
«test» es una clase en tu ejemplo. En la teoría de POO (o más general,
de análisis de dominio) las clases se pueden ver también como
objetos[1]. Los objetos tienen atributos.
Veamos un ejemplo más amplio para poder responder mejor:
<code language="python">
class test(object):
attr = 'Esto es un attributo de clase'
def __init__(self, attr):
self.attr = attr
def __str__(self):
return str(self.attr)
objs = [test(2*i+1) for i in xrange(10)]
print test.attr
for obj in objs:
print obj
</code>
«test.atrr» es un atributo del objeto «test», que es a su vez la
clase. «objs[0].attr» es un atributo de otro objeto que es una de las
instancias de «test».
Por supuesto que las instancias pueden tener un atributo de nombre
«attr» y la clase de éstas no tenerlo.
> Y la otra duda {ya comenzando a ser off-topic} como puedo hacer un
> del(test.a) ? de la instancia se puede hacer de lo más bien, pero no
> he encontrado como eliminar un atributo de la clase.
No lo puedes hacer en la clase, simplemente porque en tu ejemplo ésta,
en su faceta de objeto, no tiene tal atributo. i lo tuviera, pudieras
borrarlo sin problemas.
Saludos
[1] Lo que establece el concepto de relaciones de metaclases. Python
soporta este concepto.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es