Cu *_* Hh 5 python indentation python-2.7
在编写python代码时,我倾向于得到很多IndentationErrors.有时,当我删除并重写该行时,错误将消失.有人可以在python中为noob提供IndentationErrors的高级解释吗?
以下是我在播放CheckIO时收到的最近一个不会消失的缩进错误示例:
def checkpass(data):
"""Checks password for >=10 char + 1 number + 1 LC letter + 1 UC letter"""
passlist = []
uclist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y', 'Z']
lclist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z']
blah blah.. more code
Run Code Online (Sandbox Code Playgroud)
这是我调用python脚本时收到的错误:
$ python passcheck.py
File "passcheck.py", line 5
uclist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
^
IndentationError: unindent does not match any outer indentation level
Run Code Online (Sandbox Code Playgroud)
当您混合制表符和空格时,通常会出现这种问题.
一些编辑器可能显示Tab为4位,但在Python 2.x中Tab被解释为8位,所以即使编辑器显示,多条线路都在同一级别缩进,他们未必真的在同一级别的Python缩进(特别是如果编辑器将选项卡解释为4个空格)
在Python 3.x中,你不能在所有混合制表符和空格,它会抛出一个语法错误在同一个python脚本混合制表符和空格.
理想情况下,您应该在整个脚本中使用完全制表符或完全空格,建议使用4个空格进行缩进.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |