我需要根据条件定义一个函数,以便它可以做某事或什么都不做。
e.g。
# Code block that *defines* bar
if condition:
bar = do_stuff
else:
bar = # ?
# End of the definition of bar
bar()
do_stuff
是在其他地方定义的函数,它执行一些有用的计算。如果不满足上述条件,我希望bar()
被定义为什么都不做。有什么想法吗?
注意:为了便于说明,我设计了上面的 if-else 块。我知道我可以在do_stuff()
正文中拨打if
,在pass
正文中拨打else
。上面的代码只是为了说明一个代码块,之后我需要bar
来定义做某事或什么都不做。块只定义该函数,并不打算调用它。
答案 0 :(得分:5)
你可以创建一个不起作用的函数:
def func():
pass
答案 1 :(得分:5)
要将变量bar
设置为不执行任何操作的函数,有两个选项:
使用lambda
:
bar = lambda: None
使用函数定义:
def bar():
pass
您还可以使用return None
代替pass
作为函数定义,行为是等效的。