2012-09-18 11 views
5

Oft muß ich temporären Kommentar einige Codes, aber es gibt Situationen wie die folgenden, wo eine einzige Zeile Code zu kommentieren wird einen Syntaxfehler Python NOOP Ersatz

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

Gibt es etwas, das als einen Akt könnte NOOP, um diese Syntax korrekt zu halten?

Antwort

4

ich entdeckt, dass, wenn Sie den Code in Kutteln setzen zitierte Kommentar '''comment''' es wie ein NOOP wirkt, so dass man einen dreifachen zitierten Kommentars setzen können, die als NOOP im Falle wird der Code gelöscht oder kommentiert mit # handeln.

Für den obigen Fall:

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

Sie sollten 'pass' (http://docs.python.org/reference/simple_stmts.html#pass) als Noop verwenden. Dies hat den Vorteil, dass es kurz ist und keine zusätzliche Bedeutung hat (die Zeichenfolge kann vom Programm auf unerwünschte Weise interpretiert werden). – Nobody

+0

@Nobody Haben Sie ein Beispiel für unerwünschtes Verhalten, um zu wissen, was Sie vermeiden sollten? –

+0

Bare Strings sollten in Ordnung sein, aber Sie müssen vorsichtig sein, Doctests nicht in diese Strings zu schreiben (wenn sie nicht erwünscht sind). Abgesehen davon gibt es das unnötige Parsing von langen Strings, die ausgewertet und zurückgegeben werden, nur um ignoriert zu werden (vielleicht wird dies weg optimiert). Ich kann mir nicht mehr vorstellen als Eckfälle, die sehr unwahrscheinlich sind, aber nichtsdestoweniger "pass" ist der Weg zu gehen, weil es für diese Situation gemacht wurde. Wenn Sie Kommentare auf diese Weise verwenden, brechen Sie die Regel der Kommentare: Sie können entfernt werden, ohne die Semantik des Programms zu ändern. – Nobody

6

In Python 3 machen ... einen ziemlich guten pass Ersatz:

Ich lese es als "zu tun", während pass bedeutet "diese Seite absichtlich leer gelassen".

Es ist eigentlich nur ein Literal, ähnlich wie None, True und False, aber sie optimieren alle gleich.