2013-10-28 106 views
11

如何讓python程序對if語句不做任何事情?我如何獲得一個python程序什麼都不做?

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

請幫幫忙!

+2

Awwwww ...你的頭像看起來非常傷心:(別擔心 - 這裏有一些很好的答案張貼在這裏!振作起來!:) – Lix

+1

@Polli酯如果下面的答案之一幫助你,它將是很好的接受它(點擊它下面的分數)。 – rlms

回答

32

你可以使用一個pass聲明:

if condition: 
    pass 

Python 2.x documentation

Python 3.x documentation

不過,我懷疑你想這樣做,除非你只需要放東西作爲一個佔位符,直到你回來並寫下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() 
8

pass命令是你在找什麼。對於要「忽略」的任何構造,請使用pass。你的例子使用了一個條件表達式,但你幾乎可以做任何事情。

爲了您的具體使用情況,也許你會想測試相反的條件,只有當條件爲假執行一個動作:

if num2 != num5: 
    make_some_changes() 

這將是相同的:

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

這樣你甚至不需要使用pass,你也可以更接近於遵循"Flatter is better than nested" convention in PEP20


你可以閱讀更多關於pass聲明in the documentation

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 
2

你可以使用if語句內傳遞。

+2

我認爲你可以在這個「答案」中多加一點努力。它看起來更像是一條評論...... – Lix