[pyar] ¿cómo automatizar el llamado de objetos?
Javier Marcon
javiermarcon en gmail.com
Mie Dic 25 14:27:55 -03 2019
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.
--
Eco red Natural.
Venta de productos orgánicos, agroecológicos y BPA.
156-424-0748
ecorednatural en gmail.com
Más información sobre la lista de distribución pyar