我经常发现自己在python中编写if / elif / else结构,并且我希望包含可能发生的选项,但相应的操作是不做任何事情。我意识到我可以排除这些if语句,但为了可读性,我发现将它们都包括在内很有帮助,所以如果你在查看代码,你可以看到每个选项的结果。我该如何对“不行动”进行编码?目前,我是这样做的:
no_op = 0
if x == 0:
y = 2 * a
elif x == 1:
z = 3 * b
elif x == 3:
no_op
(代码实际上比这长一些,也更复杂。这只是为了说明结构)。
我不喜欢使用变量作为无操作,但这是我能想到的最简洁的方法。有没有更好的办法?
可以将空字符串和不换行输出到标准输出。如果linter禁止你在不必要的地方使用pass,这可能很方便,但你需要一行注释:
print('', end='') # This does next to nothing
使用这个空打印除了浪费CPU周期外,副作用很少:
$ echo "print('', end='') # This does next to nothing" > main.py
$ python3 main.py
$
注意在这里使用pass在语法上是正确的,但是linters可能会抱怨:
$ echo "pass # This does next to nothing" > main.py
$ python3 main.py
$
可以将空字符串和不换行输出到标准输出。如果linter禁止你在不必要的地方使用pass,这可能很方便,但你需要一行注释:
print('', end='') # This does next to nothing
使用这个空打印除了浪费CPU周期外,副作用很少:
$ echo "print('', end='') # This does next to nothing" > main.py
$ python3 main.py
$
注意在这里使用pass在语法上是正确的,但是linters可能会抱怨:
$ echo "pass # This does next to nothing" > main.py
$ python3 main.py
$