63

如何让Python程序对 if 语句不执行任何操作?

 if (num2 == num5):
     #No changes are made
4

5 回答 5

130

您可以使用以下pass语句:

if condition:
    pass

Python 2.x 文档

Python 3.x 文档

但是我怀疑您是否想要这样做,除非您只需要将某些内容作为占位符放入,直到您回来并为该if语句编写实际代码。

如果你有这样的事情:

if condition:        # condition in your case being `num2 == num5`
    pass
else:
    do_something()

您通常可以将其更改为:

if not condition:
    do_something()

但在这种特定情况下,您可以(并且应该)这样做:

if num2 != num5:        # != is the not-equal-to operator
    do_something()
于 2013-10-28T10:48:27.513 回答
20

pass命令是您正在寻找的。用于pass您想要“忽略”的任何构造。您的示例使用条件表达式,但您几乎可以对任何事情执行相同的操作。

对于您的特定用例,也许您想测试相反的条件,并且仅在条件为假时才执行操作:

if num2 != num5:
    make_some_changes()

这将与此相同:

if num2 == num5:
    pass
else:
    make_some_changes()

这样你甚至不必使用pass,而且你也更接近于遵守PEP20 中的“Flatter is better than nested”约定


您可以在文档中阅读有关该pass声明的更多信息:

pass 语句什么都不做。当语法上需要语句但程序不需要操作时,可以使用它。

if condition:
    pass
try:
    make_some_changes()
except Exception:
    pass # do nothing
class Foo():
    pass # an empty class definition
def bar():
    pass # an empty function definition
于 2013-10-28T10:51:12.747 回答
2

您可以在 if 语句中使用 pass。

于 2013-10-28T10:51:22.940 回答
-1
if (num2 == num5):
    for i in []: #do nothing
        do = None
else:
    do = True

或者我个人最喜欢的

if (num2 == num5):
    while False: #do nothing
        do = None
else:
    do = True
于 2021-08-18T03:50:12.037 回答
-6

您可以使用继续

if condition:
    continue
else:
    #do something
于 2018-10-17T05:13:29.713 回答