返回外部函数或意外缩进

时间:2011-04-11 20:05:34

标签: python return indentation

我有这个:

if colorkey is not None:
        if colorkey is -1:
         colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()

它告诉我“返回”不在函数之内。

当我将其更改为:

if colorkey is not None:
        if colorkey is -1:
         colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
    return image, image.get_rect()

它只是告诉我有一个意外的缩进。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

在python中,范围由相同级别的缩进而不是大括号(即{})定义,与其他语言一样。

如果你编写一个函数,你需要确保所有函数体都处于相同的缩进级别 - 无论是相同数量的空格还是相同数量的标签(混合空格和制表符)可能导致真正的混乱)。

在你的情况下,正确的缩进看起来类似于(我不完全确切,因为你没有发布整个函数的代码):

def function():
<indent>if colorkey is not None:
<indent><indent>if colorkey is -1:
<indent><indent><indent>colorkey = image.get_at((0,0))
<indent>image.set_colorkey(colorkey, RLEACCEL)
<indent>return image, image.get_rect()

答案 1 :(得分:0)

if colorkey is not None:之后有2个缩进,它只需要一个