[pyar] xDuda con como acceder a un método de un objeto dentro de una lista
XLJ xlj
xlj707 en gmail.com
Mar Mar 8 17:24:24 ART 2016
# en este modulo tendre la estanteria de libros (listas)
from libro import Libro
# titulo, anio, autor, paginas, editorial, codigoLibro
# llenado de la estanteria
lib1 = Libro("Alicia en el pais de las maravillas", 1999, "lucson marz", 200, "MCgraw Hill", "AHSBCr31")
lib2 = Libro("Peter Pan", 1985, "J. M. Barrie", 206, "A Millennium Fulcrum Edition", "HALSDF232")
lib3 = Libro("Oliver tweest", 1855, "Charles Dikenson", 120, "Porrua", "ASDFAS235")
lib4 = Libro("La Odisea", 1530, "Homero", 950, "Porrua", "ASDFASDF323")
lib5 = Libro("La iliada ", 1532, "Homero", 1300, "Porrua", "ADSFASD9032")
lib6 = Libro("La hojarasca", 1960, "Gabriel Garcia Marquez", 180, "Editorial Latina", "ADF3235ASD")
libros = [lib1, lib2, lib3, lib4, lib5, lib6] # 6 libros
# test de vaciado de la lista
def listar():
for object in libros:
print(object)
listar()
MacBook-Pro-de-X:clases xlj707$ python3 estanteriaMaterial.py
<libro.Libro object at 0x10133a4a8>
<libro.Libro object at 0x10133a4e0>
<libro.Libro object at 0x10133a518>
<libro.Libro object at 0x10133a588>
<libro.Libro object at 0x10133a860>
<libro.Libro object at 0x10133a8d0>
Y USANDO EL CODIGO ASI :
# en este modulo tendre la estanteria de libros (listas)
from libro import Libro
# titulo, anio, autor, paginas, editorial, codigoLibro
# llenado de la estanteria
lib1 = Libro("Alicia en el pais de las maravillas", 1999, "lucson marz", 200, "MCgraw Hill", "AHSBCr31")
lib2 = Libro("Peter Pan", 1985, "J. M. Barrie", 206, "A Millennium Fulcrum Edition", "HALSDF232")
lib3 = Libro("Oliver tweest", 1855, "Charles Dikenson", 120, "Porrua", "ASDFAS235")
lib4 = Libro("La Odisea", 1530, "Homero", 950, "Porrua", "ASDFASDF323")
lib5 = Libro("La iliada ", 1532, "Homero", 1300, "Porrua", "ADSFASD9032")
lib6 = Libro("La hojarasca", 1960, "Gabriel Garcia Marquez", 180, "Editorial Latina", "ADF3235ASD")
libros = [lib1, lib2, lib3, lib4, lib5, lib6] # 6 libros
# test de vaciado de la lista
def listar():
for object in libros:
print(object.showInfo())
listar()
MacBook-Pro-de-X:clases xlj707$ python3 estanteriaMaterial.py
Traceback (most recent call last):
File "estanteriaMaterial.py", line 27, in <module>
listar()
File "estanteriaMaterial.py", line 22, in listar
print(object.showInfo())
File "/Users/xlj707/Documents/Misproyectitos-python/ArchivoJson/clases/libro.py", line 14, in showInfo
print("titulo: ", self.__titulo)
AttributeError: 'Libro' object has no attribute '_Libro__titulo'
MacBook-Pro-de-X:clases xlj707$
> On Mar 8, 2016, at 2:15 PM, Tomas Zulberti <tzulberti en gmail.com> wrote:
>
>
>
> 2016-03-08 17:05 GMT-03:00 XLJ xlj <xlj707 en gmail.com <mailto:xlj707 en gmail.com>>:
> #clase libro
>
> from ejemplar import Ejemplar
>
> class Libro(Ejemplar):
> def __init__(self, titulo, anio, autor, paginas, editorial, codigoLibro):
> Ejemplar.__init__(self, titulo, anio, autor, paginas, editorial) #super
> self.__codigolibro = codigoLibro #atributo adicional propio de esta clase
>
> def getCodigoLibro():
> return self.__codigolibro
>
> def showInfo(self):
> print("titulo: ", self.__titulo)
> print("anio: ", self.__anio)
> print("autor: ", self.__autor)
> print("paginas: ", self.__paginas)
> print("editorial: ", self.__editorial)
> print("codigo de libro: ", self.__codigolibro)
>
>
>
> # en este modulo tendre la estanteria de libros (listas)
> from libro import Libro
>
> # titulo, anio, autor, paginas, editorial, codigoLibro
>
>
>
> # llenado de la estanteria
> lib1 = Libro("Alicia en el pais de las maravillas", 1999, "lucson marz", 200, "MCgraw Hill", "AHSBCr31")
> lib2 = Libro("Peter Pan", 1985, "J. M. Barrie", 206, "A Millennium Fulcrum Edition", "HALSDF232")
> lib3 = Libro("Oliver tweest", 1855, "Charles Dikenson", 120, "Porrua", "ASDFAS235")
> lib4 = Libro("La Odisea", 1530, "Homero", 950, "Porrua", "ASDFASDF323")
> lib5 = Libro("La iliada ", 1532, "Homero", 1300, "Porrua", "ADSFASD9032")
> lib6 = Libro("La hojarasca", 1960, "Gabriel Garcia Marquez", 180, "Editorial Latina", "ADF3235ASD")
>
> libros = [lib1, lib2, lib3, lib4, lib5, lib6] # 6 libros
>
>
> # test de vaciado de la lista
> def listar():
> for object in libros:
>
>
>
>
>
> listar()
>
> MI DUDA ES LA SIGUIENTE como puedo hacer uso del método showInfor() que es el encargado de listar todas las propiedades del objeto tipo Libro, esto dentro de mi ciclo for
> ya intente con def listar():
> for object in libros
> print(object.showInfo())
> sin embargo esto me da error !!
>
>
>
> Estaria bueno que pongas el mensaje de error que te aparece.
> Por ejemplo, tu codigo corre en Python 3.
>
> Sin embargo, lo que queres hacer es lo siguiente:
>
> for object in libros:
> object.showInfo()
>
> No es necesario hacer un print de object.showInfo(), porque el mismo ya lo imprime
>
>
>
> quiero saber como puedo lograr esto aquí en python ya que en java es totalmente posible (haciendo uso del metodo toString)
>
>
> En python existe un magic method llamado __str__ (http://www.rafekettler.com/magicmethods.html#representations <http://www.rafekettler.com/magicmethods.html#representations>)
>
>
> de antemano gracias!! espero que alguien me pueda orientar
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar <http://listas.python.org.ar/listinfo/pyar>
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/ <http://www.python.org.ar/>
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar <http://www.usla.org.ar/>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar <mailto:pyar en python.org.ar>
> http://listas.python.org.ar/listinfo/pyar <http://listas.python.org.ar/listinfo/pyar>
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/ <http://www.python.org.ar/>
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar <http://www.usla.org.ar/>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160308/71169229/attachment-0001.html>
Más información sobre la lista de distribución pyar