3

我编写了以下程序,但不确定它有什么问题,它给出了:

File "Button_2.py", line 9
""" Initialise the Frame. """
                            ^
  IndentationError: expected an indented block

这是我的代码的图像:

在此处输入图像描述

这里发生了什么?

4

4 回答 4

5

文档字符串中的缩进__init__关闭(它需要向右移动 1 个缩进级别)... 上的缩进root.mainloop()也关闭。

于 2012-10-26T12:18:46.137 回答
2

您在第 9 行的缩进是错误的,也就是文档字符串应该像这样向右缩进一级:

def __init__(self, master):
    """ Initialise the Frame. """
    Frame.__init__(self, master)

这样做的原因是因为 Python 使用缩进告诉解释器代码块属于哪个类、函数或结构(如循环或 if..else 语句)。它相当于 Java 中的花括号,用于指定类、方法或程序的其他流控制部分。你可以在这里阅读更多:http ://www.secnetix.de/olli/Python/block_indentation.hawk

PS root.mainLoop() 应该依次向左缩进。这是因为它是主程序的一部分,其缩进级别为 0。

于 2012-10-26T12:29:14.530 回答
1

您应该按如下方式缩进文档字符串:

def __init__(self, master):
    """ Initialise the Frame. """
    Frame.__init__(self, master)
于 2012-10-26T12:20:22.857 回答
0

第 5 行应该再缩进 1 级,与第 6 行对齐。

于 2012-10-26T12:21:36.827 回答