Python 有没有办法不用制表符、缩进和;空白标准?

Python 有没有办法不用制表符、缩进和;空白标准?,python,Python,我想开始在小项目中使用Python,但是一个放错位置的制表符或缩进可能会引发编译错误这一事实真的让我感到不安。是否有某种类型的设置可以关闭此功能 我目前正在使用记事本++。是否有一个IDE可以处理制表符和缩进?否。如果有办法禁用此功能,Python将如何解析脚本?否。缩进作为语法是Python语言不可或缺的一部分,无论好坏。我不这么认为,因为Python是一种以空格分隔的语言。也许一个自动缩进的文本编辑器或IDE会有所帮助。您目前正在使用什么?不,没有。缩进是Python的语法。你可以: 使用t

我想开始在小项目中使用Python,但是一个放错位置的制表符或缩进可能会引发编译错误这一事实真的让我感到不安。是否有某种类型的设置可以关闭此功能


我目前正在使用记事本++。是否有一个IDE可以处理制表符和缩进?

否。如果有办法禁用此功能,Python将如何解析脚本?

否。缩进作为语法是Python语言不可或缺的一部分,无论好坏。

我不这么认为,因为Python是一种以空格分隔的语言。也许一个自动缩进的文本编辑器或IDE会有所帮助。您目前正在使用什么?

不,没有。缩进是Python的语法。你可以:

  • 使用tabnanny.py检查代码
  • 使用有语法意识的编辑器突出显示这些错误(vi可以做到这一点,emacs我打赌它可以做到,然后,大多数ide也可以做到)
  • (牵强的)编写一个自己的预处理器,将大括号(或您喜欢的任何块分隔符)转换为缩进

  • 我在启动Python时遇到的所有空白问题都是制表符和空格混合的结果。一旦我将所有东西都配置为只使用其中一个,我就不再有问题了


    在我的例子中,我将UltraEdit&vim配置为使用空格代替制表符。

    在使用Python时,应该在编辑器中禁用制表符(实际上,总是IMHO,但在使用Python时尤其如此)。找一个像“为标签使用空格”这样的选项:任何像样的编辑器都应该有一个。有几种方法可以修改给定代码行的空白规则,但仍然需要缩进级别来确定范围

    您可以使用
    终止语句
    如果要将一行拆分为多行,可以使用
    \
    字符完成一行,这意味着当前行有效地从下一行的第一个非空白字符继续。这在视觉上似乎违反了通常的空白规则,但是合法的

    我的建议是:如果制表符/空格混淆,不要使用制表符。请使用空格,并选择2或3个空格作为缩进级别


    一个好的编辑器可以使您不必担心这一点。(例如,python模式下,您可以只使用tab键,这将使您保持诚实)。

    可以编写一个预处理器,它使用伪python关键字“endif”和“endwhile”随机缩进代码当我使用python作为“类似ASP”的语言时,我不得不这样做,因为在这样的环境中,“缩进”的整个概念变得有点模糊


    当然,即使有这样的东西,你也应该理智地缩进,在这一点上,转换变得多余。

    我同意justin和其他人的观点——选择一个好的编辑器,使用空格而不是制表符进行缩进,空格的事情就成了一个问题。我最近才开始使用Python,虽然我认为空格是多余的问题将是一个真正的烦恼,事实证明并非如此。作为记录,我使用的是emacs,尽管我确信还有其他的编辑做得同样出色


    如果你真的坚决反对,你总是可以通过预处理器来传递你的脚本,但这在很多层面上都是一个坏主意。如果你要学习一门语言,就要接受该语言的特性,而不是尝试去解决它们。否则,学习一门新语言有什么意义?

    让你的缩进正确工作在你使用的任何一种语言中,英语都是很重要的

    尽管不正确的缩进不会影响大多数其他语言中程序的执行,但对于任何试图阅读程序的人来说,它都会让人感到非常困惑,因此您需要花时间研究如何配置编辑器以正确对齐

    Python在缩进方面非常自由。你可以在制表符和空格之间选择(但你真的应该使用空格),也可以选择多少空格。它唯一需要的是你的一致性,这最终是很重要的,无论你使用什么语言

    我目前正在使用记事本++。是吗 可能有一个IDE需要 注意标签和缩进吗


    为此,我喜欢eclipse的扩展。

    通过将编辑器设置为使用空格而不是制表符,可以解决制表符和空格混淆的问题

    为了使空白完全直观,您可以使用更强大的代码编辑器或IDE(尽管如果您只需要适当的自动代码缩进,则不需要完整的IDE)

    可以在Python wiki中找到一个编辑器列表,尽管这个列表有点太累人了: -

    这里已经有一个问题,试图将其缩小一点:


    也许您应该添加一个更具体的问题:“您在Windows上更喜欢哪个Python编辑器或IDE?为什么?”

    我有点不愿意学习Python,因为使用了tabbing。然而,当我使用Vim时,我几乎没有注意到它。

    当人们将这一点标记为Python的问题时,我发现很难理解。我立即开始学习,并发现它是我最喜欢的语言“功能”之一:)

    在其他语言中,我有两份工作: 1.修复大括号,以便计算机可以解析我的代码 2.修正缩进,这样我就可以解析代码了

    因此,在Python中,我要担心的事情只有原来的一半;-)


    (注意,我唯一一次在indendation上遇到问题的时候是Python代码出现在博客和论坛上,会弄乱空白,但随着应用程序变得越来越智能,这种情况越来越少)

    如果你想推荐Python IDE,经过广泛的研究,我对Wing软件的WingIDE非常满意:

    有免费试用版,所以哟
    If(first condition)
       if (second condition)
          do something interesting;
    else
      do something different;
    
    def foobar(a, b):
    if a == b:
    a = a+1
    elif a < b:
    b = b-1
    if b > a: a = a-1
    end if
    else:
    print 'oops!'
    end if
    end def foobar
    
    def foobar(a, b):
       if a == b:
           a = a+1
       elif a < b:
           b = b-1
           if b > a: a = a-1
           # end if
       else:
           print 'oops!'
       # end if
    # end def foobar
    
    from __future__ import braces
    
    >>> from __future__ import braces
      File "<stdin>", line 1
    SyntaxError: not a chance