我想知道是否有一个 Python
等同于这个 JavaScript
结构:
var myFunctions = {
'greet': function(name){
return "Hello, " + name;
},
'farewell': function(time){
return "See you " + time;
}
}
所以我可以这样调用函数:
let greetMarta = myFunctions['greet']("Marta");
最佳答案
您可以使用 lambda
来定义非常简单的函数,例如这些内联函数;但是它们只能包含一个表达式:
my_functions = {
'greet': lambda name: "Hello {}".format(name),
'farewell': lambda time: "See you {}".format(time)
}
对于任何更复杂的事情,您需要定义一个独立的函数,然后在字典中引用它:
def my_complex_function(param):
... logic ...
return whatever
my_functions = {
'complex_func': my_complex_function,
...
}
为了调用该函数,您可以执行以下操作:
my_functions['my_complex_function'](param)
关于javascript - Python 相当于 JavaScript 函数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398461/