[英]How to avoid "if" nesting when need Multiple return values in python
像这样,假设我需要使用一些库函数(我不能更改它们),它返回一个值或 None,我想使用返回的值并将其传递给另一个函数。 如何避免同时使用多个if
语句?
这是我的代码示例:
import random
def somefunction1(n):
m=random.randint(0,n)
if m>5:
return None
else:
return m
def somefunction2(n):
# like somefunction1
# ------way one
r1=somefunction1(10)
r2=somefunction2(someParameter)
if r1:
print(r1)
elif r2:
print(r2)
# --------way two
r1=somefunction1(10)
if r1:
print(r1)
else:
r2=somefunction2(someparameter)
if r2:
print(r2)
if r := somefunction1(10) or somefunction2(someParameter):
print(r)
请检查这一点,如果您没有使用 out_put1 作为另一个函数的输入,那么您可以像这样使用。
如果 function1() 返回某个值,则 output_put 值将是该值。
否则,如果 function2() 返回某个值,那么 output_put 将是 function2() 的值,否则它将是 None
out_put = function1() or function2()
if out_put:
print(out_put)
尝试这个:
def a_function(parameters):
default_value = None
apply_some_operation_on(parameters):
if YouWantToReturnSomething:
default_value = whatever_you_want_to_return
return return_val
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.