如何在 Python 中制作自调用匿名函数?
以 JavaScript 为例:
标准方式:
function fn (a) {
if (a == 1) {
alert(a);
}
else {
alert(0);
}
/...
}
fn(1);
自调用匿名调用:
!function(a) {
if (a == 1) {
alert(a);
}
else {
alert(0);
}
/...
}(1);
Python 中有类似的东西吗?
请您参考如下方法:
考虑到您对 lambda 答案的评论,我认为这是不可能的。 lambda 运算符是 Python 支持匿名函数的唯一方式。如果您需要支持语句,则需要使用 def,它始终必须被命名。
但是请记住,lambda 可以支持有限的 if-then 逻辑。以下两个是实现上述 if-then 逻辑的 lambda 表达式:
(lambda a: alert(1 if a == 1 else 0))(1)
更确切地说:
(lambda a: alert(a) if a == 1 else alert(0))(1)
