2015-10-05 86 views
1

如何引用一个不以pythonic方式执行任何操作的函数?如何创建不执行任何操作的函数引用

双向的,我能想到的是:

def nope(): 
    pass 

fun1 = nope 
fun2 = lambda: None 

有没有更好的办法?

+0

应该是nope()我认为 –

+0

都可以,从更好地理解第一个看起来更清晰,第二个更短 –

+0

@RNar。不,我想引用不执行它的功能(在那个时刻)。有点像函数指针。 –

回答

1

我将输出的情况下,一个信息消息中的被调用的函数:

fun2 = lambda:"Not yet implemented" 

如果它被称为消息将被输出时,如果没有则只是一个参考:

In [73]: fun2 
Out[73]: <function __main__.<lambda>> 

In [74]: fun2() 
Out[74]: 'Not yet implemented' 
+0

谢谢你的回答。这实际上是一个非常好的主意。我没有在我的问题中提供很多信息。但在我的情况下,我有一个事件链有时得到处理,但并不总是。为了打破这个链条,我做了一个删除以下被调用的函数。这当然也可以通过“如果乐趣不是无:fun()”来处理。但是我又有这种感觉会让事情变得更加复杂。 –

+0

@magu_,啊好吧,所以你会希望稍后使用该值来测试,有点像一个标记值? –

+0

种类。在正常情况下,总有一些东西需要调用。在“特殊”情况下,如初始化或加载新数据。回调应该被禁用。 –

0

你不能变得更好。在最大你可以在同一条线上。

def nope(): pass 
相关问题