为什么返回不能在“if”name中执行__主要的用Python
我正在编写一个程序,我需要该程序返回一个整数,比如说为什么返回不能在“if”name中执行__主要的用Python,python,python-2.7,Python,Python 2.7,我正在编写一个程序,我需要该程序返回一个整数,比如说changed,以提醒控制器有更改。但当我想返回此值时,我一直收到以下消息: return 1 SyntaxError: 'return' outside function 我在网上读过一些帖子,他们都说这是缩进的问题,但我确信我的缩进是正确的,因为我尝试过这样一个简单的程序,但失败仍然存在 # -*- coding: utf-8 -*- if __name__ == "__main__": return 1 以下是错误消
changed
,以提醒控制器有更改。但当我想返回此值时,我一直收到以下消息:
return 1
SyntaxError: 'return' outside function
我在网上读过一些帖子,他们都说这是缩进的问题,但我确信我的缩进是正确的,因为我尝试过这样一个简单的程序,但失败仍然存在
# -*- coding: utf-8 -*-
if __name__ == "__main__":
return 1
以下是错误消息:
runfile('/home/iphyer/untitled1.py', wdir='/home/iphyer')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 699, in runfile
execfile(filename, namespace)
File "/usr/local/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 81, in execfile
builtins.execfile(filename, *where)
File "/home/iphyer/untitled1.py", line 9
return 1
SyntaxError: 'return' outside function
runfile('/home/iphyer/untitled1.py',wdir='/home/iphyer')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
runfile中的文件“/usr/local/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py”,第699行
execfile(文件名、命名空间)
execfile中的文件“/usr/local/lib/python2.7/dist packages/spyderlib/widgets/externalshell/sitecustomize.py”,第81行
execfile(文件名,*其中)
文件“/home/iphyer/untitled1.py”,第9行
返回1
SyntaxError:函数外部的“return”
虽然我真正的程序比这个复杂,但结构是一样的
我很困惑,因为如果我对return
语句进行注释,所有程序都可以在没有任何警告的情况下运行
这很令人困惑。我想我不能使用如果
返回一些值
谢谢!~因为这不是一个方法。您只能从Python中返回
。如果name\uuu==“\uuuu main\uuuu”:的主体在文件作为独立程序运行时执行。在这种情况下,您可能需要的是exit()
或sys.exit()
允许您向调用此脚本的脚本返回有限的信息。通常,您可以使用退出(0)
发出成功信号,或者使用非零结果(限制为1-255)发出一组可能的失败信号.return
用于子例程/函数,exit
用于程序。因为return
必须在函数中。如果这对您没有意义,请仔细阅读函数。您希望值返回到哪里?@BrenBarn我负责代码的一部分,返回值可能会用在我的另一部分。以及我应该返回changed
@sikisis的值,然后这是另一个人的工作,让他导入你的模块并调用你的方法,比如“getChange”etc@TigerhawkT3好的,我将进一步阅读Python的文档。您的意思是return
must在函数中,这意味着如果_uname_==,我应该删除__如果名称=“\uuuu main\uuuuu
变成函数?我想OP想要一个C风格的返回,并询问如何在python@Rudziankoŭ我应该将if语句
,并将if uuuu name_uuu==uuuu main_uuu
中的代码更改为一个函数。不需要回到这里吗?@Alan是的,我经常把Python和C混淆。只需创建一个返回值的函数
。并在另一个“文件”中使用它,如:导入您的_模块;您的_模块。您的_函数()
这将做您需要的事情,或者如果您出于某种原因决定放弃处理内部依赖,则可以看到@cdlane的答案,但使用脚本outputTerrific,我得到了它。所以我应该使用exit()
来给出信息。@sikisis,这取决于您用来运行程序的实用程序是否允许您访问返回代码。例如,在Python的子流程模块中,它可以作为returncode
属性使用。@sikisis,我有两个问题。程序同时工作吗?一个程序一个接一个地工作吗?这样我就可以使用另一个类似Python脚本的子进程来处理exit
值。好的,我会问相应的同志,看看他想要什么。@Rudziankoŭ一个接一个,我做的一个是检查网页内容是否改变,另一个是修改本地数据库。