[pyar] ¿cómo automatizar el llamado de objetos?

criss pro crisspro en hotmail.com
Mie Dic 25 18:06:44 -03 2019


Hola.

Por lo visto ese método __rempr__ es el que convierte el string a 
objeto, que cuando intenté hacer algo así python me arrojaba un error, 
ya que me faltó dicho método. El código que modificaste debuelve lo que 
dices, pero no me queda claro su uso, ya que no está integrado con el 
input, entonces arroja todo los resultados, cuando se supone que depende 
de lo que el usuario ponga en el input. A ver si me podrías explicar 
como funciona el __rempr__ por favor.


El 25/12/2019 a las 14:27, Javier Marcon escribió:

> El 24/12/19 a las 16:23, criss pro escribió:
>> Hola.
>>
>>
>> No se si sea posible automatizar el llamado de objetos desde un método
>> de otra clase, me explico. En el códigoque dejo más abajo (intenté
>> simplificarlo lo más que pude), lo que quiero hacer es desde el método
>> tocar de la clase Persona, llamar al objeto "perro" o "gato" dependiendo
>> del valor del parámetro "objeto" del propio método "tocar". Como ven,
>> usé condicionales para esto, funciona, pero tengo la impresión, quizás
>> errada, que pudiese ahorrar código construyendo un método que llamase
>> automáticamente al objeto dependiendo del valor "objeto" del método, sin
>> necesidad de programar una a una las posibilidades.
>> ...
> Es asi de facil:
>
> class Persona:
>      def __init__(self, nombre):
>          self.nombre = nombre
>
>      def tocar(self, objeto):
>          print('tocas el ', objeto)
>          objeto.sonar()
>
>
> class Animal:
>      def __init__(self, nombre, sonido):
>          self.nombre = nombre
>          self.sonido = sonido
>
>      def sonar(self):
>          print(self.sonido)
>
>      def __repr__(self):
>          return self.nombre
>
>
> antonio = Persona('antonio')
> gato = Animal('gato', 'miaaauuuu')
> perro = Animal('perro', 'guau guau')
> antonio.tocar(gato)
> antonio.tocar(perro)
>
>
> Lo cual te devuelve:
>
> ('tocas el ', gato)
> miaaauuuu
> ('tocas el ', perro)
> guau guau
>
> Saludos,
>
> Javier.
>


Más información sobre la lista de distribución pyar