【问题标题】:Python Expected an indented block errorPython 期望一个缩进的块错误
【发布时间】:2012-09-19 21:39:04
【问题描述】:

我刚开始学习python。在我第一次遇到 python 时,我遇到了这个问题。我正在学习定义一个函数。在一个简单的命令中,我得到了一个预期的缩进块错误。请指教。 我正在使用这种语法

>>>def hello():
...print "Hello"

但是当我在“Hello”之后按回车键时,我得到了预期的缩进块错误 实际上我必须将这个函数定义如下

>>> def hello():
print "Hello"
print "Computers are Fun"

但我无处可去。 请帮助我做错了什么

【问题讨论】:

    标签: python


    【解决方案1】:

    检查您的缩进。与 C、Java、C++ 不同,没有 {} 来封装函数、代码段。缩进定义了代码段、循环、函数等。

    >>> def hello():
    ...     print "hello"
    ...
    >>> hello()
    hello
    >>>
    

    注意 def 行和 print 行的缩进。您的代码缺少正确的格式。

    【讨论】:

    • 我认为这是最明确的答案,但我赞成每个人,因为我们都在说同样(正确)的事情。
    【解决方案2】:

    您需要缩进(4 个空格 recommended)函数中的命令,如下所示:

    >>> def hello():
    ...     print 'hello'
    ... 
    >>> hello()
    hello
    

    【讨论】:

    • @WaleedKhan 当然;我只是关注PEP8
    • @WaleedKhan:1 个空格也是可以接受的,2 个空格、5 个空格、3 个制表符或 47 个制表符和 79 个空格的复杂交错也是可以的,只要您保持一致即可。引入 4 个空格作为标准仍然是一个好主意。
    【解决方案3】:

    您需要正确格式化函数。 Python 有非常具体的间距要求。

    def hello():
        print "Hello"
    

    【讨论】:

      【解决方案4】:

      'expected an Indented block' 表示你的缩进不正确,试试下面的代码:

      def hello():
          print "Hello"
      
      def hello2():
          print "Hello"
          print "Computers are Fun"
      
      hello()
      hello2()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-17
        • 2018-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-23
        • 2016-06-24
        相关资源
        最近更新 更多