【问题标题】:Writing non-indentation sensitive code in Python [duplicate]在 Python 中编写非缩进敏感代码 [重复]
【发布时间】:2013-06-21 15:33:44
【问题描述】:

(我是初学者)Python 通常使用缩进来指定代码行的嵌套级别。有没有其他方法可以做到这一点?

【问题讨论】:

  • 你为什么要这样做?
  • 您的问题缺少实际代码,-1。 向我们展示您的代码。
  • @ulidtko 你希望他展示什么代码?
  • @ulidtko 这里不适用。
  • This other question 很久以前就被问过了,公平地说。

标签: python python-3.x


【解决方案1】:

不,Python 开发人员对此非常抗拒,因为这意味着要更改 Python 所基于的核心基础之一。试试from __future__ import braces

>>> from __future__ import braces
SyntaxError: not a chance (<pyshell#30>, line 1)

确实,“没有机会”:-)

【讨论】:

  • 我知道代码块的括号不会被实现,但是除了缩进或大括号之外还有什么方法可以定义代码块,否则我最终会写出非常复杂的代码。
  • @LinuxDistance 还有什么别的办法吗?这对代码的复杂性有何影响?
  • @LinuxDistance 您的代码不会因为缩进而变得糟糕。如果您认为是这种情况,那么您需要认真看看您的代码是如何组织的。
  • @arshajii:还有第三种方法。在 ruby​​ 和 vbscript 中,许多结构(循环、if 语句、函数定义等)有效地充当需要以关键字(例如endEnd IfEnd Sub)显式结束的左大括号。我最初认为这是大括号的变体,但隐含的“左大括号”使它与众不同。
  • @StevenRumbalski 是的,你是对的,我忘记了那个变种。尽管如此,在 Python 中实际上只有一种方法可以做到这一点。
【解决方案2】:

Python 背后的核心设计理念是人类可读性;缩进用于指定代码块,因为在视觉上,这比使用大括号要干净得多。

有关详细信息,请参阅PEP 20 - The Zen of Python

【讨论】:

    【解决方案3】:

    直到我发现我刚才看过的那个东西,指向this question 的指针就足以作为答案:考虑在编写代码后使用reindent.py 来修复你想要的缩进。

    this site 领取。

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 2013-11-15
      • 2016-02-12
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多