在 Python 中设置多行 if 语句的样式

在 Python 中设置多行 i​​f 语句的样式

Styling multiline if statements in Python

Python 中多行 if 语句的推荐样式是使用圆括号来分隔if语句。andPEP8 风格指南建议在反斜杠上使用括号,并在布尔值和运算符之后放置换行符
or

主程序
if ('hi' == 'hi' and len('hi') == 2 and 2 == 2): # 👈️ last lines with extra indentation print('success') # 👇️ all conditions on separate lines if ( 'hi' == 'hi' and len('hi') == 2 and 2 == 2 ): print('success') # 👇️ using backslash for line continuation (discouraged by pep8) if 'hi' == 'hi' and \ len('hi') == 2 and \ 2 == 2: print('success')

根据官方
PEP8 风格指南,换行的首选方法是在圆括号、方括号和大括号内使用 Python 的隐式续行。

该指南不建议使用反斜杠来续行。

该指南还建议在布尔运算符和之后放置换行符 andor

代码示例中的第一个示例使用额外的缩进来区分if语句中的条件和if块中的代码。

主程序
# ✅ GOOD if ('hi' == 'hi' and len('hi') == 2 and 2 == 2): # 👈️ last lines with extra indentation print('success')

与对条件和if块使用相同级别的缩进相比,这使我们的代码更具可读性。

主程序
# ⛔️ BAD (same level of indentation for conditions and body of if statement) if ('hi' == 'hi' and len('hi') == 2 and 2 == 2): print('success')

您还可以将if语句中的所有条件移动到单独的行中。

主程序
# ✅ GOOD if ( 'hi' == 'hi' and len('hi') == 2 and 2 == 2 ): print('success')
使用这种方法时,您不必对条件使用额外的缩进,因为右括号将条件与if语句主体分开。

对于较长if的语句,我发现这比前面的示例更容易阅读。

尽管 PEP8 风格指南不鼓励使用反斜杠来续行,但它仍然是一种完全有效的语法。

主程序
if 'hi' == 'hi' and \ len('hi') == 2 and \ 2 == 2: print('success')

使用此方法时,请确保为最后一行条件添加额外的缩进。

如果您对条件和
if语句主体使用相同级别的缩进,代码将变得难以阅读。

主程序
# ⛔️ BAD (same level of indentation for conditions and `if` body) if 'hi' == 'hi' and \ len('hi') == 2 and \ 2 == 2: print('success')

发表评论