javascript - Python 相当于 JavaScript 函数对象

标签 javascript python

我想知道是否有一个 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/

相关文章:

python - 使用 HttpLib 的 HTTP 获取请求 "Moved Permanently"

Python-根据多个日期创建新列

javascript - 点击提交按钮无法获取数据

javascript - 无法将元素集中在 Chrome 中的加载上 - 非常奇怪的错误(在 Chrome 中?)

javascript - 从 jConfirm 对话框将值返回给调用者

python - 使用 pyspark 将结构数组转换为列 - 不分解数组

javascript - .间隔使用时的负载性能问题

javascript - 通过从父 div 中减去另一个子 div 的高度来计算子 div 的高度

python - 字符串是 Python 中的 JSON 对象还是 JSON 数组?

python - Ajax:无法将 Json 对象发送到 Bottle Web 服务