Esto es para usar en una API JSON. no quiere tener:Python: ¿Cómo llamas a un método cuando solo tienes el nombre de la cadena del método?
if method_str == 'method_1':
method_1()
if method_str == 'method_2':
method_2()
Por razones obvias, esto no es óptima. ¿Cómo usaría cadenas de mapa para métodos como este de forma reutilizable (también tenga en cuenta que necesito pasar argumentos a las funciones llamadas).
Aquí se muestra un ejemplo:
ENTRANTE JSON:
{
'method': 'say_something',
'args': [
135487,
'a_465cc1'
]
'kwargs': {
'message': 'Hello World',
'volume': 'Loud'
}
}
# JSON would be turned into Python with Python's built in json module.
llamada resultante:
# Either this
say_something(135487, 'a_465cc1', message='Hello World', volume='Loud')
# Or this (this is more preferable of course)
say_something(*args, **kwargs)
dupe muchas veces más – SilentGhost
dupe: http://stackoverflow.com/questions/680941/python-dynamic-function-names – SilentGhost
Si no es para usar en una API, entonces ¿por qué menciona el JSON entrante y el método? nombre especificado en el objeto JSON? ¿Crees que es así que puedo construir una cadena JSON en mi código Python y luego pasarlo a los métodos de llamada? – orokusaki