即使简单的代码也会给出返回函数错

时间:2015-12-01 19:49:24

标签: python python-3.x

这可能是我的一个完全白痴错误,但当我尝试运行像

这样的简单内容时,我继续得到“SyntaxError:'返回'外部函数'响应”
if 5>7:
    return True
else:
    return False

我很确定我的缩进是正确的,这是我在这个问题上看到的唯一其他答案,而且即使是非常简单的代码也会发生这种情况。我错过了什么?

2 个答案:

答案 0 :(得分:0)

我认为你误将print()误认为是returnreturn将取代表达式中的函数。所以,假设您有函数returnOne()

如果你有:

def returnOne():
    return 1

print(5*returnOne())

将打印5,因为它将乘以returnOne的返回值5。

  

如果您在函数之外使用return,则无需任何操作   替换为返回值。 return只能在函数中使用。

所以让我们把你的代码放在一个函数中。

def greaterThan():
    if 5>7:
        return True
    else:
        return False

然后,我们可以使用return,我们可以使用print(greaterThan())

查看结果

答案 1 :(得分:0)

这是因为你在一个函数之外调用一个返回。

你的其中一个:

#!/usr/bin/env python -w
import sys

def test_return():
    return 5 > 7 # returns boolean

sys.exit(test_return())