[pyar] ¿cómo automatizar el llamado de objetos?
Brian Rodriguez
brianx340 en gmail.com
Jue Dic 26 10:53:28 -03 2019
Hola Cris, eh copiado el codigo que te facilito Javier Marcon y le eh
añadido el input.
_________________________________
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')
opcion = input("""Que animal desea tocar?
1) Gato
2) Perro
---> """
if opcion == "1":
antonio.tocar(gato)
elif opcion =="2":
antonio.tocar(perro)
else:
print("Opción no válida")
_________________________________
Espero haber sido de ayuda ✌🏽
El mié., 25 dic. 2019 13:58, criss pro <crisspro en hotmail.com> 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.
>
>
> class Persona:
> def __init__ (self, nombre):
> self.nombre= nombre
>
> def tocar (self, objeto):
> print('tocas el ', objeto)
> if objeto== 'gato':
> gato.sonar()
> elif objeto=='perro':
> perro.sonar()
>
> class Animal:
> def __init__ (self, nombre, sonido):
> self.nombre= nombre
> self.sonido= sonido
>
> def sonar (self):
> print(self.sonido)
>
> antonio= Persona('antonio')
> gato= Animal('gato','miaaauuuu')
> perro= Animal('perro','guau guau')
>
> entrada= input('toca un animal')
> if entrada== 'gato':
> antonio.tocar(entrada)
> elif entrada=='perro':
> antonio.tocar(entrada)
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - 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/20191226/81bfca9b/attachment.html>
Más información sobre la lista de distribución pyar