2012-09-18 22 views
5

我經常需要臨時評論一些代碼,但也有類似的情況下,其中評論的一行代碼將出現語法錯誤 Python的NOOP更換

if state == False: 
    print "Here I'm not good do stuff" 
else: 
# print "I am good here but stuff might be needed to implement" 

有什麼事,可能作爲一個NOOP保持這個語法正確?

回答

4

我發現,如果你把代碼牛肚引述評論​​它就像一個空操作,所以你可以把三引述評論,將作爲在情況下,代碼被刪除或#評論一個空操作。

針對上述案例:

if state == False: 
    '''this comment act as NOP''' 
    print "Here I'm not good do stuff" 
else: 
    '''this comment act as NOP and also leaves the 
    else branch visible for future implementation say a report or something''' 
# print "I am good here but stuff might be needed to implement" 
+7

您應該使用'pass'(http://docs.python.org/reference/simple_stmts.html#pass)作爲noop。這具有短而無附加含義的優點(該字符串可以被程序以不希望的方式解釋)。 – Nobody

+0

@沒有人你有沒有不需要的行爲的例子知道該怎麼避免? –

+0

裸字符串應該沒問題,但是您必須小心,不要將doctests寫入這些字符串中(如果不需要)。除此之外,還有不必要的冗長字符串解析,這將被評估和返回只是被忽略(也許這將被優化)。我不能提出比角落案件更不可能的事情,但「通行證」是要走的路,因爲它是爲了這種情況而制定的。如果您以這種方式使用註釋,則可能會破壞註釋規則:可以在不更改程序語義的情況下移除它們。 – Nobody

6

在Python 3,...使一個相當不錯的pass替補:

我將其讀爲「待完成」,而pass表示「此頁有意留空」。

它實際上只是一個文字,很像None,TrueFalse,但它們都優化了。