Ops*_*psa 1 javascript python python-3.x
如何在Python中自我调用匿名函数?
例如使用JavaScript:
标准方式:
function fn (a) {
if (a == 1) {
alert(a);
}
else {
alert(0);
}
/...
}
fn(1);
Run Code Online (Sandbox Code Playgroud)
自我调用匿名电话:
!function(a) {
if (a == 1) {
alert(a);
}
else {
alert(0);
}
/...
}(1);
Run Code Online (Sandbox Code Playgroud)
Python中有任何类似物吗?
鉴于您对lambda答案的评论,我认为这是不可能的.该lambda操作是Python仅支持匿名函数的方式.如果需要支持语句,则需要使用a def,必须始终命名.
请记住,lambdas可以支持有限的if-then逻辑.以下两个是lambda实现上面给出的if-then逻辑的表达式:
(lambda a: alert(1 if a == 1 else 0))(1)
Run Code Online (Sandbox Code Playgroud)
字面意思是:
(lambda a: alert(a) if a == 1 else alert(0))(1)
Run Code Online (Sandbox Code Playgroud)
如果您的函数很简单并且只有表达式(没有语句),那么您可以用来lambda创建匿名函数并内联调用它们。
>>> (lambda x, y: x*y)(3, 5)
15
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |