[pyar] Llamar a un método en una clase. No funciona.
fisa
fisadev en gmail.com
Jue Nov 8 21:36:49 ART 2012
El día 8 de noviembre de 2012 21:34, fisa <fisadev en gmail.com> escribió:
> Agrego a lo que ya te dijeron:
>
> No es necesario que definas getters para los atributos si solamente
> vas a devolver el valor del atributo.
> Eso es costumbre por ejemplo en java, pero en python no lo es. Y para
> los casos donde realmente se necesitan getters y setters, hay algo que
> lo resuelve de forma mucho más linda: @property
>
> En pocas palabras:
>
> vos estás haciendo
>
> class Atom(object):
> def __init__(self, position, ..):
> self.position = position
> ...
> def position(self):
> return self.position
>
> para poder despues hacer cosas como
>
> hAtom2 = Atom(...)
> print hAtom2.position()
>
> Más allá de que no anda porque se pisan entre el atributo y el método
> por tener el mismo nombre, igual podrías *no* tener ningún método para
> devolver la position, y hacer solo:
>
> class Atom(object):
> def __init__(self, position, ..):
> self.position = position
>
> hAtom2 = Atom(...)
> print hAtom2.position # fijate que no es un metodo, uso directamente
> el atributo.
>
> Eso es lo normal en python.
>
>
> El día 8 de noviembre de 2012 21:03, Carlos <scire1905 en gmail.com> escribió:
>> Angel Java Lopez <ajlopez2000 en ...> writes:
>>
>>>
>>>
>>> Hola gente!No se los demas... Carlos, pero no entendi...
>>>
>>> Cual es el problema?
>>>
>>> El codigo de abajo no lo probe en Python, pero lo probe en mi proyecto:
>>>
>> https://github.com/ajlopez/PythonSharp/blob/master/Src/PythonSharp.Tests/Example
>> s/atoms.py
>>> y anduvo sin mayor drama
>>>
>>> Hay enlace al tutorial?On Thu, Nov 8, 2012 at 8:36 PM, Carlos Giménez
>> <scire1905 en gmail.com> wrote:Hola a todos,
>>> actualmente estoy tratando de entrar al mundo de Python. En este momento estoy
>> siguiendo un tutorial y en un punto desarrollo un script pero no funciona. Lo
>> tomé exactamente como figura en el tuto.
>>>
>>>
>>>
>>> #!/usr/bin/env python
>>>
>>> class Atom (object):
>>>
>>> "A class to represent a single atom"
>>> def __init__(self, symbol, mass, position):
>>>
>>> self.symbol = symbol
>>> self.mass = mass
>>> self.position = position
>>>
>>> def symbol(self):
>>> return self.symbol
>>>
>>> def mass(self):
>>>
>>> return self.mass
>>>
>>> def position(self):
>>> return self.position
>>>
>>> oAtom = Atom('O', 15.9994, [0.0, 0.0, 0.0])
>>> hAtom1 = Atom('H', 1.0079, [0.0, 1.0, 0.0])
>>>
>>> hAtom2 = Atom('H', 1.0079, [1.0, 0.0, 0.0])
>>>
>>> print 'The mas of the second H atom is', hAtom2.position()
>>>
>>>
>>>
>>>
>>> No se como hacer para que imprima los parámetros que pido.
>>>
>>>
>>> Cualquier ayuda me sirve.
>>>
>>> Saludos!
>>> _______________________________________________
>>> pyar mailing list pyar-
>> +ZN9ApsXKcFd+7ixHBZSzg en public.gmane.orghttp://listas.python.org.ar/listinfo/pyar
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en ...
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>> Hola,
>>
>> el problema es que al ejecutar tengo esta salida:
>>
>> The mas of the second H atom is
>> Traceback (most recent call last):
>> File "./3.5-Class.py", line 24, in <module>
>> print 'The mas of the second H atom is', hAtom2.position()
>> TypeError: 'list' object is not callable
>>
>>
>> Otra cosa, no recibí las respuestas en mi correo. Me di cuenta que respondieron
>> por que recibí el resumen diario y ahí me percate de sus respuestas.
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
>
>
>
> --
> fisa - Juan Pedro Fisanotti
(top posting = postear arriba en lugar de abajo del contenido de los
mails anteriores. Lo que yo acabo de hacer, y que no es lo que hay que
hacer :p)
--
fisa - Juan Pedro Fisanotti
More information about the pyar
mailing list