Python运行报错:IndentationError: expected an indented block的解决方法

迎风致 2024-12-19 08:42:57编程技术
113

在Python编程中,缩进是一个非常重要的语法特性,它用于表示代码块的层次结构。与其他语言使用大括号 {} 来界定代码块不同,Python依赖于缩进来区分不同的代码块。因此,当缩进不正确时,Python解释器会抛出 IndentationError: expected an indented block 错误。本文将详细介绍这一错误的原因及其解决方法,帮助开发者在实际编程中避免和解决这类问题。

自学python,第一次遇到python的运行异常,竟然是这个鬼:

异常一:

IndentationError: expected an indented block

把这段英文报错翻译过来就是: 缩进错误: 期望一个缩进的块

贴下报错的代码的截图便于观察分析:

Python运行报错:IndentationError: expected an indented block的解决方法

好了,直接开始单刀直入解决这个问题,解决方案,在报错的逻辑代码的前面加个空格就一切ok了,一个缩进就解决了这个异常,解决这个bug不是主要目的,了解python的语法结构和特点才是我们该做的事情。

1.不像其他语言(C++, java 等等),就拿java举个例子:我们都知道在java里面方法后面是用{}来区分是否属于一个方法的,但在python里面方法体并不使用{}来区分,python的是用缩进来识别语法逻辑块的(i.e. if, while, for, def 等)。同一个if逻辑块下面的语句必须要有相同的缩进,否则python解析器怎么知道if块控制哪些语句?对吧,在python中,所有的逻辑代码块也就是一个方法中的代码,都必须使用相同的缩进来标识区分是同一个方法,否则编译会报错。贴个图解释下:

这里写图片描述

2、所谓缩进,就是每一行开头的空白。这个空白可以由多个空格或者制表符组成。python下面你怎么缩进都可以,比如3个空格,2个tab,这样都是合法的。但是同一个逻辑块下面必须用一样的。这一点在上面的图片和文字中已经做过解释和说明。

异常二:

安装后在代码编辑区不能写代码,如下图:

Python运行报错:IndentationError: expected an indented block的解决方法

不管怎么做那个白色的块儿都在,不能进行编辑输入代码,后来百度后发现已经有人给出了解决方案,很简单,是因为PyCharm安装了Vim插件 你可以在tools Vim emulator将对勾去掉就可以了,尝试后确实是这样的,在PyCharm中点击Tools然后在弹出的列表中,去掉Vim emulator的对勾就可以正常编辑了。

以上是本人的一点总结,以后有新的经验或者这方面的认知升级后,会重新完善该篇内容,如果有不对的地方欢迎留言指正改进,感激不尽!

总结

通过对Python中 IndentationError: expected an indented block 错误的详细解析,我们了解了这一错误的原因及其解决方法。缩进错误通常是由于代码块的缩进不一致或缺失引起的。本文提供的示例代码展示了如何检查和修正缩进问题,并提供了一些最佳实践,帮助开发者避免类似的错误。通过本文的学习,开发者可以掌握在Python中正确使用缩进的方法,提高代码的可读性和可维护性。希望本文的内容能为读者在实际编程中提供有价值的参考和帮助。无论是初学者还是有经验的开发者,正确处理缩进问题都是编写高质量Python代码的基础。

Python indentationerror
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

使用Python和PyQt5打造多功能PDF转换器
本文将介绍如何使用Python和PyQt5构建一个多功能PDF转换器,帮助用户轻松实现PDF文件的各种转换操作。通过本文的学习,读者将掌握如何利用Python编程语言和PyQt5图形用户界面...
2024-12-26 编程技术
107

Python中生成随机整数的利器:numpy.random.randint()函数详解
在数据科学和机器学习领域,生成随机数是常见的需求之一。Python的NumPy库提供了强大的工具来生成各种类型的随机数。本文将详细介绍numpy.random.randint()函数,该函数可以生...
2024-12-24 编程技术
117

Python实现将Word转PDF的两种方法详解(附示例代码)
在日常工作和学习中,我们经常需要将Word文档转换为PDF格式,以便于分享、归档或打印。手动逐个转换不仅耗时费力,而且容易出错。幸运的是,Python提供了一些强大的库,可以帮...
2024-12-22 编程技术
113

Python中lambda表达式的使用方法详解
在Python中,lambda表达式是一种简洁的匿名函数定义方式,广泛应用于各种编程场景中。本文将详细介绍Python中lambda表达式的使用方法,帮助读者更好地理解和掌握这一强大的工...
2024-12-22 编程技术
113

使用Python和Tkinter的开发股票交易计算器
​在当今的金融市场中,股票交易是一项复杂且需要精确计算的活动。为了帮助投资者更好地管理他们的交易成本和收益,本文介绍了一个使用Python和Tkinter库开发的股票交易计算器...
2024-12-21 编程技术
114

Python实现批量将图片转为PDF文件的示例代码
在日常工作中,我们经常需要将多张图片转换为PDF文件,以便于分享和存档。手动操作不仅耗时,而且容易出错。幸运的是,Python 提供了强大的库,如Pillow和PyPDF2,可以帮助我...
2024-12-21 编程技术
117