这可能是我的一个完全白痴错误,但当我尝试运行像
这样的简单内容时,我继续得到“SyntaxError:'返回'外部函数'响应”if 5>7:
return True
else:
return False
我很确定我的缩进是正确的,这是我在这个问题上看到的唯一其他答案,而且即使是非常简单的代码也会发生这种情况。我错过了什么?
答案 0 :(得分:0)
我认为你误将print()
误认为是return
。 return
将取代表达式中的函数。所以,假设您有函数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())