2014-04-07 17 views
7

chcę mieć multi-lina if oświadczenie takie jak:Jak komentować każdy warunek w instrukcji multi-line if?

if CONDITION1 or\ 
    CONDITION2 or\ 
    CONDITION3: 

chcę komentować koniec każdej linii kodu źródłowego

if CONDITION1 or\ #condition1 is really cool 
    CONDITION2 or\ #be careful of condition2! 
    CONDITION3: #see document A sec. B for info 

ja prohibted od robienia tego, ponieważ Python widzi to wszystko jako jedna linia kodu i raportów SyntaxError: unexpected character after line continuation character.

W jaki sposób powinienem wdrożyć i udokumentować długie, wielowierszowe instrukcje?

+0

pokrewne: [? Jak mogę zrobić przerwę linii (linia kontynuacja) w Pythonie] (http://stackoverflow.com/q/53162/4279) – jfs

Odpowiedz

13

Nie używaj \, użycie nawiasów:

if (CONDITION1 or 
    CONDITION2 or 
    CONDITION3): 

i można dodawać komentarzy do woli:

if (CONDITION1 or # condition1 is really cool 
    CONDITION2 or # be careful of conditon2! 
    CONDITION3): # see document A sec. B for info 

Python pozwala na nowej linii w parenthesised wypowiedzi, a podczas korzystania z komentarzy, które NEWLINE jest postrzegany jako znajdujący się tuż przed rozpoczęciem komentarza, jeśli chodzi o wyrażenie.

Demo:

>>> CONDITION1 = CONDITION2 = CONDITION3 = True 
>>> if (CONDITION1 or # condition1 is really cool 
...  CONDITION2 or # be careful of conditon2! 
...  CONDITION3): # see document A sec. B for info 
...  print('Yeah!') 
... 
Yeah! 
Powiązane problemy