我经常发现自己在python中编写if / elif / else结构,并且我希望包括可以发生的选项,但对于这些选项,相应的操作是不执行任何操作。我意识到我可以只排除那些if语句,但为了可读性,我发现将它们全部包括在内是有帮助的,这样如果你正在查看代码,你可以看到每个选项的结果。我如何编写no-op代码?目前,我是这样做的:
no_op = 0
if x == 0:
y = 2 * a
elif x == 1:
z = 3 * b
elif x == 3:
no_op(代码实际上比这要长得多,也更复杂。这只是为了说明结构)。
我不喜欢使用变量作为无操作,但这是我能想到的最好的方法。有没有更好的方法?
发布于 2009-03-27 17:05:17
将pass用于无操作:
if x == 0:
pass
else:
print "x not equal 0"这是另一个例子:
def f():
pass或者:
class c:
pass发布于 2009-03-27 17:05:36
pass怎么样?
发布于 2017-06-13 00:10:57
如果您需要一个行为类似nop的函数,请尝试
nop = lambda *a, **k: None
nop()有时,当我将依赖项设置为可选时,我会这样做:
try:
import foo
bar=foo.bar
baz=foo.baz
except:
bar=nop
baz=nop
# Doesn't break when foo is missing:
bar()
baz()https://stackoverflow.com/questions/690622
复制相似问题