定义一个什么都不做的函数

时间:2013-10-08 19:15:37

标签: python

我需要根据条件定义一个函数,以便它可以做某事或什么都不做。

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来定义做某事或什么都不做。块只定义该函数,并不打算调用它。

2 个答案:

答案 0 :(得分:5)

你可以创建一个不起作用的函数:

def func():
    pass

答案 1 :(得分:5)

要将变量bar设置为不执行任何操作的函数,有两个选项:

  • 使用lambda

    bar = lambda: None
    
  • 使用函数定义:

    def bar():
        pass
    

您还可以使用return None代替pass作为函数定义,行为是等效的。