缩进问题python

时间:2012-09-27 22:56:30

标签: python comments indentation

我是python的新手,当我评论('#')以下代码的最后几行时,我有一个缩进错误消息:

    try:
        return get_callable(callback), {}
#   except (ImportError, AttributeError), e:
#       raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st    r(e)))

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:5)

在评论try / except时,请在if True: #前面放置try

    if True: #try:
        return get_callable(callback), {}
#   except (ImportError, AttributeError), e:
#       raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st    r(e)))

这使得语法正确,而不必破坏内部块。您还可以在评论finally: pass之后添加except

    try:
        return get_callable(callback), {}
#   except (ImportError, AttributeError), e:
#       raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st    r(e)))
    finally:
        pass

您唯一的另一个选择是注释掉try:行,删除该块的缩进:

#   try:
    return get_callable(callback), {}
#   except (ImportError, AttributeError), e:
#       raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st    r(e)))

如果没有try:except块,您就无法保留finally,无法完成此任务。

答案 1 :(得分:4)

您的代码在语法上不再有效。 except子句是try子句的必需伴随。

答案 2 :(得分:2)

如果没有其他except语句,python正在查找except语句,而是可能看到一条未缩进的行。

所以你可能会想,“为什么这是缩进错误?我只是错过了except,它与缩进没有任何关系。”原因是python“看到”try:后面的一条未缩进的行,并希望它缩进到try内。