Hace algunos días estaba buscando en la red y encontré un artículo interesante sobre los diccionarios de Python. Se trataba de usar las teclas en el diccionario para llamar a una función. En ese artículo, el autor ha definido algunas funciones, y luego un diccionario con la clave exactamente igual que el nombre de la función. Luego pudo obtener un parámetro de entrada del usuario y llamar al mismo método (algo así como implementar la interrupción de caso) Después de eso me di cuenta de lo mismo pero de alguna manera diferente. Quiero saber cómo puedo implementar esto. si tengo una función:Usar una cadena para llamar a la función en Python
def fullName(name = "noName", family = "noFamily"):
return name += family
Y ahora si tengo una cadena como esta:
myString = "fullName(name = 'Joe', family = 'Brand')"
¿Hay una manera de ejecutar esta consulta y obtener un resultado: JoeBrand
Por ejemplo algo Recuerdo que podríamos dar una cadena a la declaración exec() y lo hace por nosotros. Pero no estoy seguro acerca de este caso especial, y tampoco conozco la manera eficiente en Python. Y también estaré muy agradecido de ayudarme a manejar el valor de devolución de las funciones, por ejemplo, en mi caso, ¿cómo puedo imprimir el nombre completo devuelto por esa función?
funcionas va retorno Ninguno ... + uso en lugar de + = – Ant
Para lograr esto, el uso: getattr (miCadena, 'fullName') (name = 'Joe', family = 'Brand') [vea la pregunta duplicada vinculada al principio de la página] – Stew
[Nota: getattr() es usado por la respuesta principal en la pregunta que esta publicación duplica, pero no se menciona a continuación. Pensé que sería útil aparecer en esta página, por lo que rechazo la convención para responder preguntas en los comentarios.] – Stew