0

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

例如

# 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()身体ifpass身体else。上面的代码只是为了说明一个代码块,之后我需要bar被定义为做某事或什么都不做。该块只是定义了函数,并不意味着调用它。

4

2 回答 2

7

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

  • 使用lambda

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

    def bar():
        pass
    

您也可以使用return None而不是pass函数定义,行为是等效的。

于 2013-10-08T19:19:22.057 回答
6

您可以创建一个与以下内容无关的函数:

def func():
    pass
于 2013-10-08T19:16:43.003 回答