如何让Python
程序对 if 语句不执行任何操作?
if (num2 == num5):
#No changes are made
您可以使用以下pass
语句:
if condition:
pass
但是我怀疑您是否想要这样做,除非您只需要将某些内容作为占位符放入,直到您回来并为该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()
该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
您可以在 if 语句中使用 pass。
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
您可以使用继续
if condition:
continue
else:
#do something