python简单函数IndentationError

时间:2018-02-27 12:35:47

标签: python

我写了这个简单的函数并得到了以下错误,为什么?

def hello_func():
print("hello how are you.")

hello_func()

IndentationError: expected an indented block

4 个答案:

答案 0 :(得分:2)

因为你不关心缩进.. 缩进仅用于帮助使代码看起来很漂亮。但是在Python中,需要指出语句所属的代码块。

试试这个:

def hello_func():
    print("hello how are you.")

hello_func()

按原样编写然后运行它。 有关缩进的详细信息,请阅读此docthis

希望这对你有所帮助! :)

答案 1 :(得分:1)

在Python中,块只能通过缩进来识别。所有函数,循环和条件都必须有一个缩进块,并且缩进必须与块中的每个位置完全相同。

在你的情况下,你应该写:

def hello_func():
    print("hello how are you.")

hello_func()

然后如果你的函数包含一个循环,例如:

def hello_func():
    print("hello")
    for i in range(10):
        print(i)

hello_func()

答案 2 :(得分:0)

您需要观看缩进,因为您实际上并未将代码作为代码发布,因此很难看到是否存在缩进。 我完全按照你的方式复制了它并且工作正常:

def hello_func(): print("hello how are you.")

hello_func()

但如果你真的想在一个函数中使用多行,你应该在第二行使用4个空格:

def hello_func(): 
    print("hello how are you.")

hello_func()

或者像这样,第二行有两个空格:

def hello_func(): 
  print("hello how are you.")

hello_func()

答案 3 :(得分:0)

如果您了解其他语言,那么Python不需要像C和Java一样的方式,它根据行的缩进程度来解释代码子部分的开头和结尾 - 有多少标签位于代码中每行的开头。

因为它使用缩进而不是括号,所以Python不太灵活地将传统上多行的东西放在一行中。 (虽然我在google搜索关于Python的其他问题时已经看到了关于将函数放入一行的问题和答案 - 你可以尝试" Python一行函数"。)

所以,而不是写

  

def hello_func():print("你好,你好。")

     

hello_func()

你应该写

  

def hello_func():

     
    

打印("你好,你好。")

  
     

hello_func()

(或者,如果你也想尊重其他传统,请使用字符串" hello world&#34 ;.)