即使我的缩进正确,为什么我仍会得到“返回外部功能”?

时间:2020-10-27 11:39:50

标签: python return

有人知道我为什么会出现缩进错误,即使它应该是正确的吗?

while not stop:
    try:
        response += sock.recv(buffer_size)
        if header not in response:
            print("error in message format")
            return # this is where I get the error 
    except socket.timeout:
        stop = True

错误代码python3 ueb02.py localhost 31000 File "ueb02.py", line 40 return ^ SyntaxError: 'return' outside function make: *** [run] Error 1

编辑:感谢您的回答,@ balderman的方法解决了我的问题。感谢所有在这里贡献力量的人:D

2 个答案:

答案 0 :(得分:1)

仅当代码是函数的一部分时,才能使用return

如果要停止程序流,请使用sys.exit()

请参见https://python101.pythonlibrary.org/chapter20_sys.html#sys-exit

答案 1 :(得分:1)

您只能从一个函数中return个值。 要解决您的问题,可以使用break语句和print值来代替返回。