迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

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

作者:迹忆客 最近更新:2022/10/24 浏览次数:

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

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 的隐含行延续。

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

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

代码示例中的第一个示例使用额外的缩进来区分 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')

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便