Python 中设置多行 if 语句的样式
Python 中多行 if 语句的推荐样式是使用括号分隔 if 语句。 PEP8 样式指南建议在反斜杠上使用括号,并在布尔值 and
和 or
运算符之后放置换行符。
if ('hi' == 'hi' and
len('hi') == 2 and
2 == 2): # ?️ 最后一行有额外的缩进
print('success')
# ?️ 所有条件都在不同的行上
if (
'hi' == 'hi' and
len('hi') == 2 and
2 == 2
):
print('success')
# ?️ 使用反斜杠续行(pep8 不鼓励)
if 'hi' == 'hi' and \
len('hi') == 2 and \
2 == 2:
print('success')
根据官方 PEP8 样式指南,包装长行的首选方法是在括号、方括号和大括号内使用 Python 的隐含行延续。
该指南不建议使用反斜杠来续行。
该指南还建议在布尔运算符
and
和or
之后放置换行符。
代码示例中的第一个示例使用额外的缩进来区分 if 语句中的条件和 if 块中的代码。
# ✅ GOOD
if ('hi' == 'hi' and
len('hi') == 2 and
2 == 2): # ?️ 最后一行有额外的缩进
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')
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。