在JS中,我可以像这样定义一个对象:
foo = {"foo": 42, "bar": function(){/* do something */}}
在Python中是否有类似的方法?
在JS中,我可以像这样定义一个对象:
foo = {"foo": 42, "bar": function(){/* do something */}}
在Python中是否有类似的方法?
# Define a function
def foo():
print("foo")
# Define a dictionary
d = {"a":1, "b":foo}
d["b"]()
foo
Python有lambda
函数。 lambda
函数是一个小的匿名函数。一个lambda
函数可以接受任意数量的参数,但只能有一个表达式。
语法:
lambda arguments : expression
你可以尝试以下代码:
foo = {"foo": 42, "bar": lambda a : a + 10}
您可以按照以下方式使用它:
foo['bar'](5)
15
整个示例:
>>> foo = {"foo": 42, "bar": lambda a : a + 10}
>>> foo['bar'](5)
15
示例
def my_func(a):
return a + 10
foo = {"foo": 42, "bar": my_func}
foo['bar'](5)
# output
# 15
lambda
。但是在 lambda 中只有简单的表达式是有效的。 - Daniel Roseman