簡體   English   中英

縮進問題python

[英]Indentation issue python

我是python的新手,當我注釋('#')以下代碼的最后兩行時,出現縮進錯誤消息:

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

有人可以幫忙嗎?

當注釋掉try / except ,在try前面放置一個if True: #

    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將無法完成。

您的代碼在語法上不再有效。 except子句是try子句的必需伴侶。

如果沒有其他except語句,則python在尋找except語句,而很可能看到未縮進的行。

因此,您可能會想,“為什么這是縮進錯誤?我只是缺少一個except ,它與縮進沒有任何關系。” 原因是python在try:之后“看到”了一條未縮進的行try:並希望將其縮進try內部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM