【问题标题】:Python loop syntaxPython 循环语法
【发布时间】:2020-02-29 19:20:22
【问题描述】:

在 python 中,for 循环和 while 循环甚至控制语句都使用缩进来突出显示需要运行的代码块。 反正有没有绕过这个?我对缩进有很多问题,因为对于长代码,它会降低代码的可读性。 是否有任何软件包可以使代码更具可读性?可以用大括号吗?

【问题讨论】:

  • 那就不要写“长代码”了。将您的代码拆分为易于阅读、理解和维护的更小的可管理部分。不管是什么语言,这都是一个好习惯。
  • 缩进旨在使代码更具可读性。
  • 看起来像 PEBKAC...

标签: python python-3.x for-loop


【解决方案1】:

不,除了更正缩进,别无选择。它是语言的基本组成部分。

我对缩进有很多问题......

也许您可以从更好的编辑器中受益。一个好的代码编辑器或 IDE 将为您自动缩进代码。避免使用像记事本这样总是在第 1 列开始新行的东西。您需要的最低限度是一个能够以与前一行相同的缩进级别开始新行的编辑器。

...对于长代码,它会降低代码的可读性。

我不明白这怎么可能是真的。糟糕的缩进是我在新程序员的代码中看到的最普遍的问题之一。它使代码超级难以阅读。这就像英语中的标点符号或大写字母不好。缩进是一种基本的可读性工具。

我们可以使用大括号吗?

您想放弃良好的缩进并改用花括号,这让我有点害怕。即使允许使用大括号,您也应该仍然正确缩进代码。你没发现这个

if (foo) {
    while (bar != baz) {
        quux();
    }
}

比这更容易阅读?

  if (foo) {
while (bar != baz) {
    quux();         }
    }

如果你已经习惯性地缩进你的代码,那么花括号是多余的。这就是导致 Python 的设计者移除它们的原因。

if foo:
    while bar != baz:
        quux()

【讨论】:

    【解决方案2】:

    恐怕不会。但是您可以使用 JetBrains 等 IDE,这样可以更轻松地进行适当的缩进。

    【讨论】:

      【解决方案3】:

      我们可以使用大括号吗?

      from __future__ import braces ;)

      Python 的创建者的回答是,正如您在执行上述代码后所看到的那样,“没有机会”。

      问题是:为什么你认为你的代码不可读?

      使用缩进(以及类似 PEP8 的样式指南),代码应该实际上更具可读性。 - Python 被设计成易于阅读。 Python之禅开始:

      美胜于丑。

      显式优于隐式。简单胜于复杂。

      复杂胜于复杂。平面比嵌套好。

      稀疏优于密集。

      可读性很重要。

      这意味着,问题可能不是 Python,而是你的编码风格!或者您正在使用的一些配置。

      我只能想到两种情况,缩进会使程序员的生活变得更加困难,而这两种情况都可以通过好的 IDE 或工具来解决。或者硬件——更大的屏幕——但是带有大括号的好代码使用的行数与缩进的 Python 相同或更多,所以我认为情况并非如此。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-25
        • 2013-07-30
        • 1970-01-01
        • 1970-01-01
        • 2012-12-09
        • 2020-10-04
        相关资源
        最近更新 更多