Auf*_*ind 136 python return function
让我们假设一个迭代,我们在其中调用一个没有返回值的函数.我认为我的程序应该表现的方式在这个伪代码中解释:
for element in some_list:
foo(element)
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return None
do much much more...
Run Code Online (Sandbox Code Playgroud)
如果我在python中实现它,它困扰我,该函数返回一个None.有没有更好的方法来"退出函数,没有返回值,如果函数体中的检查失败"?
Sve*_*ach 235
你可以简单地使用
return
Run Code Online (Sandbox Code Playgroud)
这完全一样
return None
Run Code Online (Sandbox Code Playgroud)
None如果执行到达函数体的末尾而您没有命中return语句,您的函数也将返回.返回任何内容与None在Python中返回相同.
Hyp*_*eus 16
我会建议:
def foo(element):
do something
if not check: return
do more (because check was succesful)
do much much more...
Run Code Online (Sandbox Code Playgroud)
Sap*_*das 12
return None或return可用于退出函数或程序,两者都做同样的事情quit()可以使用该函数,但不鼓励在实际应用程序中使用该函数,并且只能在解释器中使用。 import site
def func():
print("Hi")
quit()
print("Bye")
Run Code Online (Sandbox Code Playgroud)
exit()可以使用类似于quit()但不鼓励在实际应用程序中使用的函数。import site
def func():
print("Hi")
exit()
print("Bye")
Run Code Online (Sandbox Code Playgroud)
sys.exit([arg])函数可以使用并且需要import sys为此进行模块,与其他两个函数不同,该函数可以用于现实世界的应用程序。import sys
height = 150
if height < 165: # in cm
# exits the program
sys.exit("Height less than 165")
else:
print("You ride the rollercoaster.")
Run Code Online (Sandbox Code Playgroud)
os._exit(n)函数可用于退出进程,并且需要import os为此进行模块。Céd*_*ien 11
您可以使用return不带任何参数的语句来退出函数
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
return
do much much more...
Run Code Online (Sandbox Code Playgroud)
如果您想知道问题,请提出异常
def foo(element):
do something
if check is true:
do more (because check was succesful)
else:
raise Exception("cause of the problem")
do much much more...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272498 次 |
| 最近记录: |