如何对多行if语句中的每个条件进行注释?

16 投票
1 回答
3909 浏览
提问于 2025-04-18 01:43

我想写一个多行的 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 语句呢?

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中,使用括号的表达式可以换行。而且在使用注释时,这个换行被认为是在注释开始之前的位置,对表达式来说是这样。

示例:

>>> 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!

撰写回答