栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

与python中的“意外缩进”怎么办?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

与python中的“意外缩进”怎么办?

Python在行的开头使用空格来确定代码块的开始和结束时间。你可以获得的错误是:

意外缩进。这行代码的开头比以前的空格多,但是前面的不是子块的开头(例如if / while / for语句)。块中的所有代码行必须以完全相同的空白字符串开头。例如:

>>> def a():...   print "foo"...     print "bar"IndentationError: unexpected indent

当以交互方式运行python时,这一点尤其常见:请确保在命令前不要放置任何多余的空格。(在复制粘贴示例代码时非常烦人!)

>>>   print "hello"IndentationError: unexpected indent

Unindent与任何外部缩进级别都不匹配。这行代码的开头比以前的空格要少,但是同样,它也不可能包含任何其他块。Python无法决定其去向。例如,在下面,最终的打印是否应该包含在if子句中?

>>> if user == "Joey":...     print "Super secret powers enabled!"...   print "Revealing super secrets"IndendationError: unindent does not match any outer indentation level

预期缩进的块。这行代码的开头与前面的空格数量相同,但是最后一行应开始一个块(例如,

if / while / for
语句,函数定义)。

>>> def foo():... print "Bar"IndentationError: expected an indented block

如果你想要一个不执行任何操作的函数,请使用“ no-op”命令传递:

>>> def foo():...     pass

允许将制表符和空格混合使用(至少在我的Python版本中),但是Python假定制表符的长度为8个字符,这可能与你的编辑器不匹配。只需对标签说“不”即可。大多数编辑器允许将它们自动替换为空格。

避免这些问题的最佳方法是在缩进子块时始终使用一致数量的空格,并且理想情况下使用可以为你解决问题的良好IDE。这也将使你的代码更具可读性。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/623845.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号