如何在多行if语句中注释每个条件?

16

我希望拥有一个多行的 if 语句,例如:

if CONDITION1 or\
   CONDITION2 or\
   CONDITION3:

我想对源代码的每一行末尾进行评论

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

因为Python将其视为单行代码,并报告SyntaxError: unexpected character after line continuation character,所以我被禁止这样做。

如何实现和记录一个长的、多行的if语句?


如何在Python中进行换行(行延续)? - jfs
1个回答

25

不要使用\,而是使用小括号:

if (CONDITION1 or
    CONDITION2 or
    CONDITION3):

而且您可以随意添加评论:

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

Python 允许在括号表达式中换行,而当使用注释时,该换行被视为位于注释开始之前,就表达式而言。

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!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接